Llenar datos en hoja de excel a través de formulario Userform!

He creado un userform tipo formulario (en base a tutoriales y autoaprendizaje XD) este formulario consta de diversos textbox, combobox y optionbutton, bueno dicho formulario debiese llenar datos de una tabla de 1 fila y 16 columnas contenida en una de las hojas de calculo en la que cree el userform, el tema es que no he logrado hacerlo intente programar un commandbuton para que lo hiciese de esta forma:

Private Sub CommandButton1_Click()
Menu.Range("F3") = TextBox1.Text

Menu.Range("G3") = TextBox2.Text

End Sub

"Menu" es el nombre de la hoja, si alguien pudiese ayudarme estaré sumamente agradecido.

1 Respuesta

Respuesta
1

No me quedó clara la consulta.

Si desde el Uf deseas enviar los datos a la hoja está bien. Solo quizás necesites pasar a la primer fila libre y no a la fila 3 ... si es así utiliza una variable para obtener la primer celda libre y luego usas esta referencia:

Sheets("Menu").Range("F" & libre) = textbox1

Si en cambio querés llenar el UF con datos de la hoja, es justamente al reve´s:

Textbox1 = Sheets("Menu").Range("F3")

Sdos, si todo quedó aclarado no olvides finalizar la consulta

Gracias por la pronta respuesta, aun que ocupe este código y me funciona muy bien.

Private Sub CommandButton3_Click()
Sheets("Menu").Select
Range("C8").Select
ActiveCell.Value = ComboBox1.Value
Range("D8").Select
ActiveCell.Value = ComboBox3.Value
Range("E8").Select
ActiveCell.Value = ComboBox2.Value
Range("F8").Select
ActiveCell.Value = TextBox1.Value
End Sub

Por otro lado y complementando la primera pregunta que formule en dicho formulario inserte una fecha Dtpicker (Microsoft date and time picker 6.0) y necesito enviar ese dato también a la hoja Menu a la celda F4 y no se como hacerlo. si pudieras ayudarme con esto le estaría inmensamente agradecido.

Atento a sus comentarios me despido.

Saludos!

¿Pero para qué utilizar 3 líneas por cada pase pudiendo hacerlo en 1 solo?

Según tu ejemplo anterior: Sheets("Menu").Range("F3" ) = textbox1

o para tu nuevo ejemplo:

Sheets("Menu").Range("C8") = ComboBox1.Value


Es lo mismo para cualquier control, solo hay que tener en cuenta que debes convertir un dato como en el caso de una fecha:

Sheets("Menu").Range("F4") = CDate(DTPicker1)



Toda la razón con lo de las 3 lineas (debes comprender que soy nuevo en VBA en excel)

y funciona bien de la forma en que me lo sugeriste. Muy agradecido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas