Saltar al contenido

Llenar tabla con datos de Formulario.


Recommended Posts

publicado

¡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

publicado

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.

 

 

 

publicado

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

publicado
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"

publicado
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.

 

publicado

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")

 

publicado
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!!!

publicado
Hace 2 minutos , silver_axe007 dijo:

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

¿Cuál es la diferencia entre los codigos?

publicado
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.

publicado
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

publicado

 Puede ser debido a que formato de la fecha sea diferente por eso era que yo lo manejaba como un string y no como fecha.. puede ser que en tu maquina el sistema de fechas sea  mmddaaaa cuando en otros usan ddmmaaaa

 

SAludos

 

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.