Consulta Formularios (UserForm)

Hola,
Es mi primer consulta que hago en todoexpertos, paso a explicarte mi situación:
Necesito desarrollar un formulario en el editor de Visual Basic de Excel para poder rellenar determinadas celdas que me iteresan, que servirán de soporte para los datos. La idea es que una vez que complete todas las celdas pertenecientes a la misma fila, pueda volver a utilizar el mismo formulario para completar una nueva fila.
Desde ya agradezco tu tiempo.
.: ZF :.

1 respuesta

Respuesta
1
Si quieres ingresar manualmente desde el formulario los datos que aparecerán en determinadas celda de un fila, lo más conveniente es usar cajas de texto y en el código poner algo como esto para cada caja:
Range("A1").FormulaR1C1 = TextBox1.Value
En cuanto a lo de la siguiente fila podrías más bien insertar fila para capturar una nueva pues si quieres que se baje a la siguiente fila entonces para la caja de texto tendrías que buscar la primer celda vacía, o de lo contrario siempre se insertaría en la celda A1 para este caso particular. Tendrías que hacer algo como esto:
Range("A1"). end(xldown). offset(1,0). FormulaR1C1 = TextBox1. Value
si quisieras mejor insertar una fila para seguir escribiendo datos debes poner en el formulario un boton de comando y en el evento click escribir esto:
Selection.EntireRow.Insert
No se si ya estas familiarizado con los códigos pero si tienes duda me dices y te ayudo a generarlos
saludos!
Debe sonar como que soy sapo de otro pozo... pero la verdad es que no tengo ni idea de como empezar a armar mi formulario en código de Visual Basic.. Necesitaría ayuda para eso porque no conozco la sintaxis del lenguaje...
.:ZF:.
ok... ¿sabes cómo crear el userform y agregar controles a el?
Bueno, partiendo de la idea de que si... entonces te digo que deberás cargar tantos textbox como celdas tengas por llenar en una fila (puedes poner etiquetas para que identifiques que es lo que vas a ingresar en cada uno. Por ejemplo suponiendo que en la primer fila tienes los encabezados: edad y peso, entonces crearías dos etiquetas con los nombres de los encabezados y a un lado una caja de texto para cada etiqueta, de esta forma sabrás que es lo que debes ingresar en cada caja de texto.
Siguiendo con el mismo ejemplo tendrías que tienes dos cajas de texto llamadas textbox1 y textbox2. La forma más fácil para programar estas cajas es dar doble click sobre ellas (cuando aun estas en el diseño del formulario), enseguida veras la ventana del código y te aparecerán estas lineas:
Private Sub TextBox1_Change()
End Sub
Ello indica el principio y el fin de la instrucción que ha de realizarse al haber cambio en la caja de texto (el change es el evento predeterminado del textbox, pudieses cambiarlo desde la lista que te pone en el lado superior derecho de la ventana del código).
Entre esas lineas tienes que escribir la instrucción, es decir, lo que quieres que pase al ingresar un valor en la caja, que en tu caso es que se inserte lo que estas ingresando en la caja en una celda determinada.
Supongamos que quieres que lo que se escriba en esta caja se inserte en la celda A2 (pues A1 tiene el encabezado de edad)... entonces el código va así:
Private Sub TextBox1_Change()
Range("a2") = TextBox1.Value
End Sub
Range es como se indica una celda o un rango, y si haces referencia a una celda espacifica de excel debe ir entre comillas...
Y así es lo mismo para los demás textbox.
Intenta esto y me dices como te fue...

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas