Pasar datos de textboxt a celda en VBA

Estoy realizando un proyectillo en el que hay varias hojas en un excel.

También tengo un formulario, que abre otro y así, realizado a través del visual basic del propio excel.

El caso es que quiero que cada formulario me traslade datos desde unos textbox y combobox a las celdas correspondientes en cada hoja.

El tema, he logrado trasladar esos datos pero siempre me lo hace en la hoja que tengo en primer plano, y no en la hoja que le tengo puesto en el código.

El código es el siguiente:

Private Sub CommandButton1_Click()
'siguiente fila hace que me agregue una línea en la tabla inventario
Worksheets("ENTRADAS"). Range("A8"). EntireRow.Insert
'hace que en cada parte de la tabla producto etc se introduzca un nuevo dato
Range("A8") = fecha.Value
Range("B8") = proveedor.Value
Range("C8") = ComboBox1.Value
Range("E8") = cantidad.Value
Range("F8") = motivo.Value
'mensaje de cofirmación
MsgBox ("Entrada realizada con éxito")
End Sub

Como os digo no me traslada los datos en la hoja deseada sino en la que tengo en primer plano.

2 Respuestas

Respuesta
4

Debes hacer referencia a la hoja en cada línea, puede ser así:

Private Sub CommandButton1_Click()
  'siguiente fila hace que me agregue una línea en la tabla inventario
  With Worksheets("ENTRADAS")
    .Range("A8").EntireRow.Insert
    'hace que en cada parte de la tabla producto etc se introduzca un nuevo dato
    .Range("A8") = fecha.Value
    .Range("B8") = proveedor.Value
    .Range("C8") = ComboBox1.Value
    .Range("E8") = cantidad.Value
    .Range("F8") = motivo.Value
  End With
  'mensaje de cofirmación
  MsgBox ("Entrada realizada con éxito")
End Sub

Observa como antes de cada Range hay un punto ( . ), eso significa que toma la referencia de la instrucción With, en este caso toma la referencia de la hoja  "ENTRADAS".

¡Gracias! 

Muchas gracias! he probado con lo que me has dicho y funciona a la perfección. 

Muy agradecido.

Saludos

Respuesta
1

intenta con este código yo con esto genero registros

¡Gracias!

Por no cambiar el código (ya que me ha costado mucho llegar a él porque soy muy novato), he intentado la solución del compañero y me ha funcionado.

No obstante, probaré tu código.

Aún así, muchísimas gracias por la ayuda.

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas