Botón Consulta

Hola podría decirme si es posible hacer esto, tengo un form, ularios con macros para llenar una factura (Hoja1) que esta en Excel, y un listado de Clientes (Hoja2) y cuando en el Formulario de inserte en el TextBox 3 el nombre del Cliente, me llene los otros campo como son Nit, Dirección, Teléfono, Forma de pago, según lo que tengo almacenado en la Hoja2 Listado de clientes

1 Respuesta

Respuesta
1
No te entiendo muy bien,¿podría ser algo así:?
Cuando modifico el texbox3, que me aparezcan en una serie de label sus datos como, DNI, DIRECCIÓN, TELÉFONO ETC...
Si es esto, si se puede hacer...,
Si me das más pistas concretas, (el fichero por ejemplo) podríamos afinar un poco más, pero si quieres una indicación para hacerlo tú mismo, ahí va
Private Sub TextBox3_AfterUpdate()
With Worksheets("hoja2").Range("a:a")
Set c = .Find(TextBox3, LookIn:=xlValues)
If Not c Is Nothing Then
fila = c.Row
columna = c.Column
Label1.Caption = Sheets("hoja2").Cells(fila, columna + 1)
Label2.Caption = Sheets("hoja2").Cells(fila, columna + 2)
Label3.Caption = Sheets("hoja2").Cells(fila, columna + 3)
Else
MsgBox ("No se encuentra el dato")
End If
End With
End Sub
He modificado la macro un poco para que cuando no encuentre el dato, borre las casillas de LABEL. Te adjunto la nueva macro
Private Sub TextBox3_AfterUpdate()
With Worksheets("hoja2").Range("a:a")
Set c = .Find(TextBox3, LookIn:=xlValues)
If Not c Is Nothing Then
fila = c.Row
columna = c.Column
Label1.Caption = Sheets("hoja2").Cells(fila, columna + 1)
Label2.Caption = Sheets("hoja2").Cells(fila, columna + 2)
Label3.Caption = Sheets("hoja2").Cells(fila, columna + 3)
Else
MsgBox ("No se encuentra el dato")
Label1.Caption = ""
Label2.Caption = ""
Label3.Caption = ""
End If
End With
End Sub
Hola creo que no me explique muy bien tienes razón, aunque tu explicación creo que entiendo lo que me escribiste y tratares de ver si con esta explicación puedo resolver lo que quería.
Sin embargo lo que quiero es hacer lo siguiente: dentro del formulario tengo 7 TextBox que en su orden serian
TextBox1 que es Cliente
TextBox2 que es Dirección
TextBox3 que es Nit
TextBox4 que es Teléfono
.
.
.
Cuando yo Cargue el primer TextBox1 y encuentre en la base de datos el cliente que necesito automáticamente me llene los otros TextBox y si no esta el Cliente pues me imagino que se quedara en el Textbox o me pondrá en El TextBox1 un texto "No encontrado"
Ok, de todas formas muchas gracias por tenerme en cuenta y dar respuesta a mi inquietud
Con esa explicación podría ser esto... si quieres más textbox, añade pero en los dos grupos, uno para que te de el dato y otro para que lo borre si no existe:
Private Sub TextBox1_AfterUpdate()
With Worksheets("hoja2").Range("a:a")
Set c = .Find(TextBox1, LookIn:=xlValues)
If Not c Is Nothing Then
fila = c.Row
columna = c.Column
TextBox2.Text = Sheets("hoja2").Cells(fila, columna + 1)
TextBox3.Text = Sheets("hoja2").Cells(fila, columna + 2)
TextBox4.Text = Sheets("hoja2").Cells(fila, columna + 3)
Else
MsgBox ("No se encuentra el dato")
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
End If
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas