Formulario de usuario con botones de cuadro de texto y botón de comando

Abra su archivo MisFormulario01.xlsm o haga clic aquí

Vaya al Editor para disponer del formulario (podría usar +F11). La primera imagen, adjunta al final de esta sección, muestra lo que se verá al ingresar al Editor:

A la derecha está el código correspondiente al botón de comando que nos permite dar por terminado el uso del formulario.

En el lado izquierdo, en la ventana de proyectos se muestra la carpeta [Formularios] y dentro de ella nuestro formulario MiForm01.

Debajo de la barra de título: Proyecto VBAProyect, se muestran tres iconos:

Haciendo clic en el segundo icono (del medio), podremos viaualizar el formulario, si se hace clic en el primero, podremos visualizar el código correspondiente al objeto (botón de control) que hemos seleccionado en el formulario. El tercer botón es el que nos muestra la lista de las carpetas contenidas en el libro.

Primer haga clic en el icono MiForm01, dentro de la carpeta Formularios. Ahora haga clic en el icono del medio (debajo del titulo de la ventan del proyecto). La segunda imagen que adjuntamos, muestra lo que obtendremos: El formulario y el botón [Aceptar]. Use [F5] para ejecutarlo. Aquí lo único que podemos hacer es hacer clic en [Aceptar].

Vamos a usar ahora el botón de control de formulario llamado [Cuadro de texto], contenido en el [Cuadro de herramientas]. En la tercera imagen adjunta muestra activado este botón. Haga clic en este botón y en la parte superior del formulario, trace un rectángulo y luego suéltelo. Tendrá un cuadro de texto, como se muestra en la cuarta imagen adjunta. Haga clic en el mismo botón en el Cuadro de herramienta y trace otro rectángulo debajo del primero, como se muestra en la quinta imagen adjunta.

Observe ahora el formulario:

El objeto seleccionado es este segundo cuadro de texto. Su nombre: TextBox2. En la ventana de propiedades, el título nos dice que las propiedades que ella muestra corresponden a este botón.

Seleccione ahora el primer cuadro de texto. Su nombre: TextBox1. Vamos a cambiar su nombre: Haga clic en su [Name] y digite TxtDato01.

Observe qu este botón no tiene . Seleccione ahora el segundo cuadro de texto insertado. Haga clic en su [Name] y digite TxtResultado01.

Seleccione ahora el primer cuadro de texto. Vaya al final de la ventana de Propiedades para apreciar el valor de su [TabIndex]. Su valor es 1.

Haga clic en el botón [Aceptar]. Qué valor tiene su [TabIndex]? ¿Qué valor tiene el [TabIndex] el segundo cuadro de texto?.

Podemos deducir que, el tabindex es el valor que tienen los objetos e indica el orden en que fueron creados en el formulario. Este es el orden en que debieran ejecutarse si no se altera el orden.

Por supuesto que podemos cambiar dicho valor con solo seleccionar el botón y luego, haciendo clic en [TabIndex], digitar el valor deseado.

¿Para qué sirve un botón de [Cuadro de texto]?

Entre otras cosas, para digitar un dato y este sea usado al interior del formulario (podría ser enviado hacia una macro o una celda de una hoja del Excel) o para recibir un resultado proveniente de otros botones del formulario, de una macro o traído desde una celda o celdas de una hoja.

Como hicimos con el botón de comando [Aceptar], para ingresar al procedimiento asociado al primer cuadro de texto, haga doble clic en este botón. La sexta imagen que adjuntamos nos muestra la cabecera y final de dicho procedimiento. Pero observe que el nombre es TxtDato01_Change y no Clic, como ocurría en el botón [Aceptar.

Veamos algo más sobre esto:

Por encima del primer procedimiento privado [FrmFin]_Clic, tenemos dos cuadros con una flecha que puede ser desplegada. Estos botones se llaman [Cuadro combinado], ya lo veremos más adelante.

Observamos dos cuadros combinados:

El primero que contiene la lista de los nombres de los botones contenidos en el formulario. Despliegue la lista.

Y en el lado derecho un segundo cuadro combinado que contiene una lista de métodos que se pueden ejecutar cuando se realiza una de las acciones como generadores de un evento.

La sétima imagen adjunta muestra algunos elementos de esta lista. En ella se puede apreciar, como dijimos, el procedimiento activo (donde se encuentra el cursor) es [Change], que coincide con el elemento de la lista de eventos. Habrá un procedimiento que se ejecute cuando hagamos doble clic en este cuadro de texto, otro cuando se presione [KeyPress>], otro cuando se levante el cursor [KeyUp] o se mueva [MouseMove], etc.

Por ahora usaremos el . El uso de este evento significa que, cuando cambia su comportamiento, definido por sus propiedades, el código contenido en este procedimiento se ejecutará.

Si Usted observa la propiedad de este botón en la ventana de propiedades, verá que está vacío.

Una cosa es el contenido del procedimiento (código de programación) y otra el contenido que muestre este botón. La propiedad es la que nos permite modificar el contenido de dicho cuadro de texto.

El contenido del botón, determinado por la propiedad [Text], puede ser accesado desde otro botón, como lo podemos hacer desde otro botón de comando. Por ello vamos a insertar un nuevo botón de comando y lo colocaremos a la derecha del primer cuadro de texto. Insertemos pues otro botón de comando y luego modifiquemos su [Name] por [CmdOk] y su [Caption] por [Ok>]. La octava imagen muestra cómo queda el formulario.

Entonces, al ejecutar el formulario, debemos ingresar una frase en el primer cuadro de texto y al hace clic en el botón de comando [Ok], se visualice dicha frase. Antes de continuar, presione [F5].

Podrá Usted apreciar que el botón [Aceptar] está preseleccionado, de manera que, si presionamos [Intro] en el teclado, dicho botón se activará.

Esto es así porque, el valor 0 del [TabIndex] lo tiene este botón. Si deseamos ingresar un texto en el primer cuaro de texto, tendríamos que hace clic primero en él y luego ingresar el texto.

Nosotros queremos que, al iniciar la ejecución del formulario, el primer cuadro de texto quede activado para digitar de inmediato lo que queremos.

Para que esto ocurra al iniciarse la ejecución del formulario, es suficiente que su [TabIndex] esté en 0. Para ello, seleccione el primer cuadro de texto, vaya a la ventana de propiedades y haga que se [TabIndex] esté en 0. Simplemente haga clic en [TabIndex] y digite 0.

Pues bien, como al presionar [F5], el cursor estará en el primer cuadro de texto, digitaremos “Hola, buenos días.”. Al hacer clic en el botón de comando [Ok], debemos hacer que este contenido, manipulado por la propiedad [Text] sea trasnferido al segundo cuadro de texto llamado TxtResultado01.

Este lo deberá recibir en su propiedad [Text]. El código correspondiente es:

TxtResultado01.Text = TxtDato01.Text

De manera que, al hacer clic en [Ok], ese será el contenido que veamos.

Grabe el libro MiFormulario01.xlsm

Estando en el Editor, y teniendo a la vista el formulario, use [F5] para ejecutarlo. Ingrese el texto: “Hola, buenos días”, haga clic en [Ok] y para terminar el formulario, haga clic en [Aceptar].

En la siguiente sección veremos cómo se usa más de una vez estos cuadros de texto.

El libro MisFormularios01x.xlsm contiene lo desarrollado en esta sección, para tenerlo haga clic aquí

A continuación, se presenta las imágenes desritas anteriormente.

En la siguiente sesión continuaremos con el botón de texto.

Para seguir, haga clic aquí