Saltar al contenido

Llenar tabla con datos de Formulario.


Recommended Posts

¡Hola!

 

Estoy creando un macro que contiene un formulario para llenar las celdas consecuentes a la selección del combobox que es la fecha.

Me he detenido en un punto, donde no se como hacer referencia a la celda seleccionada en el combobox (Fecha Legal).
 

Con esa Fecha lo único que necesito es que al dar clic al botón capturar, vacié esos datos.
 

El formulario ya esta prácticamente completo.

Estuve buscando como hacer refencia a la celda que contiene la fecha seleccionada en el combobox pero nada.

 

Muchas gracias.

SIGNOS.xlsm

Enlace a comentario
Compartir con otras webs

Hola, gracias por responder.

 

Subí un ejemplo, es un pequeña tabla con datos, la columna A "Fecha legal" es mi referencia.

Doy clic en el botón formulario y ahí elijo la "Fecha legal" que quiero.

Al llenar el formulario, este debería pegar los datos en esa misma fila de la fecha seleccionada.

 

Solo necesito que al llenar el formulario, estos datos pasen a la fila correcta.

 

 

 

Enlace a comentario
Compartir con otras webs

Espero te sirva mi ejemplo...

 

Private Sub CommandButton1_Click()
Dim rango, celda As Range
Dim encontrado  As Boolean
encontrado = False
Set rango = Range("FECHAL")
For Each celda In rango
    If ComboBox1.Value = Format(celda.Value, "dd-mm-yyyy") Then
        MsgBox "Registro encontrado en la fila: " & celda.Row
        Range("B" & celda.Row).Value = TextBox1.Text
        Range("C" & celda.Row).Value = ComboBox2.Value
        Range("D" & celda.Row).Value = TextBox2.Text
        Range("E" & celda.Row).Value = ComboBox3.Value
        Range("F" & celda.Row).Value = TextBox3.Text
        Range("G" & celda.Row).Value = ComboBox4.Value
        'te toca contunuar con el resto de campos
        Exit Sub
    End If
Next celda
    MsgBox "Registro No encontrado"
End Sub

 

SIGNOS.xlsm

Enlace a comentario
Compartir con otras webs

Hace 6 minutos , silver_axe007 dijo:

Espero te sirva mi ejemplo...

 


Private Sub CommandButton1_Click()
Dim rango, celda As Range
Dim encontrado  As Boolean
encontrado = False
Set rango = Range("FECHAL")
For Each celda In rango
    If ComboBox1.Value = Format(celda.Value, "dd-mm-yyyy") Then
        MsgBox "Registro encontrado en la fila: " & celda.Row
        Range("B" & celda.Row).Value = TextBox1.Text
        Range("C" & celda.Row).Value = ComboBox2.Value
        Range("D" & celda.Row).Value = TextBox2.Text
        Range("E" & celda.Row).Value = ComboBox3.Value
        Range("F" & celda.Row).Value = TextBox3.Text
        Range("G" & celda.Row).Value = ComboBox4.Value
        'te toca contunuar con el resto de campos
        Exit Sub
    End If
Next celda
    MsgBox "Registro No encontrado"
End Sub

 

SIGNOS.xlsm 21 kB · 0 downloads

Gracias, aun no lo reviso pero parece que funcionara perfectamente, una duda el valor del combobox ¿Se puede utilizar como referencia de rango?
Por ejemplo:
ComboBox1.Value".range"

Enlace a comentario
Compartir con otras webs

Cita
Hace 1 minuto , Darkcanibal dijo:

Gracias, aun no lo reviso pero parece que funcionara perfectamente, una duda el valor del combobox ¿Se puede utilizar como referencia de rango?
Por ejemplo:
ComboBox1.Value".range"

No creo  ya que el combo tiene un valor no un rango, quizas si explicas qeu deseas hacer con eso.

 

Enlace a comentario
Compartir con otras webs

Hola a ambos, para que te funcione  bién deberías cambiar en el código de silver_axe007 esta línea  

 If ComboBox1.Value = Format(celda.Value, "dd-mm-yyyy") Then

por esta otra:

If CDate(Cb1) = Format(celda.Value, "dd-mm-yyyy") Then

así como también en el combobox2,3,4,5 y 6 deberías sustituir 

Format(combobox1.Value, "dd-mm-yyyy")  por  Format(Cb1.Value, "dd-mm-yyyy")

 

Enlace a comentario
Compartir con otras webs

Hace 17 horas, JSDJSD dijo:

Hola a ambos, para que te funcione  bién deberías cambiar en el código de silver_axe007 esta línea  


 If ComboBox1.Value = Format(celda.Value, "dd-mm-yyyy") Then

por esta otra:

If CDate(Cb1) = Format(celda.Value, "dd-mm-yyyy") Then

así como también en el combobox2,3,4,5 y 6 deberías sustituir 

Format(combobox1.Value, "dd-mm-yyyy")  por  Format(Cb1.Value, "dd-mm-yyyy")

 

Gracias por la correccion, yo las estaba validando como String pero acabo de aprender  algo nuevo Muchas gracias!!!

Enlace a comentario
Compartir con otras webs

Hace 1 hora, Darkcanibal dijo:

¿Cuál es la diferencia entre los codigos?

Que yo valido las fechas como cadenas de texto y el las valida como Strings .. aunque creo que no se dio cuenta que en mi ejemplo ya la habia cambiado el nombre del control de CB1 a combobox1

 

luego no habria diferencias.

Enlace a comentario
Compartir con otras webs

Hace 2 horas, silver_axe007 dijo:

Que yo valido las fechas como cadenas de texto y el las valida como Strings .. aunque creo que no se dio cuenta que en mi ejemplo ya la habia cambiado el nombre del control de CB1 a combobox1

 

luego no habria diferencias.

Gracias, termine de armar el macro y termine también de asignar nombres a los textbox y a los combobox, lo probe y hace exactamente lo que necesitaba (hablando de posicionar los datos en la fila correcta), pero las fechas me las cambia si eligo en el Combobox "07-03-2019" lo escribe como "03-07-2019" ¿Saben donde esta el error que estoy cometiendo? 

 

Anexo el nuevo documento.

SIGNOS.xlsm

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.