empezar a crear un formulario de usuario introduciendo el IDE de Visual Basic ( entorno de desarrollo integrado ): de la hoja de cálculo Excel , presione "alt " - " F11 " . Crear un nuevo formulario de usuario mediante el acceso a "Insertar "> " UserForm "
Arrastre y suelte los siguientes controles del cuadro de herramientas hasta el formulario : . Dos cuadros de texto, la segunda debajo de la primera . Agregar un botón de comando debajo de los cuadros de texto y dos controles de etiqueta , cada uno a la izquierda de un cuadro de texto . En la ventana de propiedades , cambie el título de la etiqueta superior a " nombre", y el título de la etiqueta inferior a " Dirección de correo electrónico ". Cambiar el título del botón de " Enviar".
Introduzca el código
Ahora escriba el código que toma los datos de la forma y lo inserta en una hoja de cálculo .
Desde la ventana de diseñador de formularios , haga doble clic en el botón " Enviar " . . El cursor se mueve al evento Button1_Click , que se activa cuando se pulsa el botón durante la ejecución del programa
En el evento Button1_Click , escriba el siguiente código de programa :
r As Range
< p> Set r = Range (" A65536 ") . End ( xlUp )
Set r = r.Offset ( 1 , 0 )
r.Value =
Textbox1.Value < p> Set r = r.Offset ( 0 , 1 ) = r.Value TextBox2.Value - ----------------------------- -----------
Escribir una pequeña subrutina que muestra el nuevo formulario de usuario. Dentro del IDE , haga doble clic en el icono ThisWorkbook en el panel Proyecto. En la ventana de código , escriba el nuevo subprograma:
Public Sub mac1 () UserForm1.Show
End Sub
Ejecute el programa de la hoja de cálculo de Excel , vaya al desarrollador> Macros , seleccionar " mac1 ", y pulsar el botón "Ejecutar " . Introduzca algunos datos de la hoja con el formulario de usuario.
Explora el Programa
La primera línea de Button1_Click declara una variable de rango . Una serie es un conjunto de celdas de la hoja . Vas a introducir datos en ese rango con el código siguiente a la instrucción Dim
Set declaración r = Range (" A65536 ") End ( xlUp ) define una serie de una celda : . . La celda del extremo izquierdo de la fila anterior de los datos . Esto no es una pieza de aspecto intuitivo de código, así que no se preocupe si usted no lo entiende a primera vista. Romper la declaración para ver cómo funciona. El Range (" A65536 ") parte especifica claramente la celda A65536 - forma en la parte inferior de la primera columna de la hoja de cálculo . La pieza siguiente, End ( xlUp ) , es otro rango : es donde el cursor terminaría si tenías inicialmente en células A65536 , pulsó la tecla de finalización , y luego presiona la flecha hacia arriba
Si fueras . para introducir datos en esa celda , te sobrescribe la fila anterior . Es por eso que necesita la siguiente declaración: Set r = r.Offset ( 1 , 0). Esa declaración redefine la gama sea una fila hacia abajo ( y cero columnas a la derecha ), desde donde estaba. El rango de "r " se encuentra ahora en la primera celda en blanco debajo de las filas de datos existentes . Ahí es donde el código puede comenzar a introducir una nueva fila de datos.
Llenado datos de las celdas de la Forma de entrada
Las siguientes declaraciones se mueven los datos del formulario a la gama de su código sólo identificado como las primeras celdas vacías debajo de la fila de datos anterior. r.Value = Textbox1.Value establece el valor de la celda vacía con el valor del primer cuadro de texto . La siguiente celda es una columna a la derecha , y el conjunto R = r.Offset ( 0 , 1 ) redefine el rango de ser esa celda . Los argumentos 0 y 1 se refieren a 0 filas hacia abajo y 1 celda a la derecha de la ubicación de la gama anterior (" r") .
Llenado las dos columnas se completa una fila de datos . Cuando el usuario hace clic en el botón , el evento Button1_Click ejecutará de nuevo. El Set r = Range (" A65536 ") . End ( xlUp ) volverá a ajustar correctamente el alcance de la nueva fila.