Dudas sobre el uso de macros para ingresar datos en un user form con varios texbox en excel

Saludos soy nuevo en esto de las macros pero quisiera que me ayude, mira tengo un userform con varios texbox en el cual ingreso datos y me los pega en varias filas de una hoja, lo que quisiera es que al ingresar esos datos me busque por el nombre del cliente ya ingresado en otra hoja y me pegue los mismos datos.
Private Sub CommandButton1_Click() 'Verificada
Sheets("29-11").Select
Dim Nombre As String
Dim Departamento As String
Dim Extension As String
Dim eMail As String
Dim Cliente As String
Dim Valor As String
Dim Documento As String
Dim Fecha As String
Dim Banco As String
Dim Estado As String
Dim Observacion As String
Cliente = TextBox6
Valor = TextBox2
Fecha = TextBox5
Documento = TextBox3
Banco = ComboBox4
Estado = ComboBox6
Observacion = TextBox4
UserForm2.Label1 = Cliente
UserForm2.Label9 = Valor
UserForm2.Label10 = Fecha
UserForm2.Label15 = Documento
UserForm2.Label11 = Banco
UserForm2.Label12 = Estado
UserForm2.Label13 = Observacion
'UserForm1.Labe7 = Fecha
'Unload UserForm1
'Load UserForm2
'UserForm2.Show
'Validar'
Application.ScreenUpdating = False
Sheets("Gestio").Select
Dim strfila$
Dim fila As String
[e65536].End(xlUp).Offset(1, 0).Select
strfila$ = ActiveCell.Row
Range("e" + strfila$) = TextBox6
Range("j" + strfila$) = Val(TextBox2)
'Range("g" + strfila$) = Label15
Range("h" + strfila$) = Format(TextBox5, ("dd/mm/yyyy"))
'Range("i" + strfila$) = Label11
Range("k" + strfila$) = ComboBox5
Range("l" + strfila$) = ComboBox6
'Range("F" + strfila$) = Label9
'Range("C" + strfila$) = Val(Label7)
Application.ScreenUpdating = True
If Sheets("29-11").Visible = True Then
Sheets("29-11").Select
Unload Me
UserForm1.Show
'01 BCO GENERAL RUMIÑAHUI
'02 BOLIVARIANO #5177424
'03 BOLIVARIANO #925006400
'04 BOLIVARIANO #925008851
'05  GUAYAQUIL
'06  INTERNACIONAL
'07  PICHINCHA AHORROS
'08  UNIBANCO
'09  MACHALA
'10 PAGOS EN CAJA
'11 WESTER Union
'01  REPORTO DEPOSITO
'02 COMPROMISO DE PAGO
End If
End
End Sub
Agradeceré su ayuda.

1 respuesta

Respuesta
1
¿Cómo se llama la hoja en que buscaras el dato?
Como están dispuestos los datos en esa hoja ( indica celdas de referencia)
En el TextBox6 es donde se ingresa el cliente y es el que quiero que busque en la hoja de global que ya esta ingresado en la columna B y de ahí una vez que lo encuentre que vaya pegando en los campos que están vacíos
TextBox2 en la columna E
Label15 en la columna F
ComboBox5 en la columna C
TextBox5 que es el de la fecha en la columna A
Gracias
Ok
En un modulo cualquiera pones esto:
Option Explicit
Public existe As Boolean
Sub buscar(nombre As String)
On Error GoTo err
    Cells.Find(What:=nombre, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
existe = True
err: If err.Number = 91 Then existe = False
End Sub
luego en el evento click de algun boton pones esto:
Private Sub CommandButton1_Click()
Sheets("Global").Select
buscar (Trim(TextBox6))
If existe = True Then
    TextBox2 = Range("E" & Selection.Row)
    Label15 = Range("F" & Selection.Row)
    ComboBox5 = Range("C" & Selection.Row)
    TextBox5 = Range("A" & Selection.Row)
Else
    TextBox2 = Empty
    Label15 = Empty
    ComboBox5 = Empty
    TextBox5 = Empty
    MsgBox "El registro no existe", vbInformation
End If
End Sub
En este ejemplo utilice el botón 1 ojo con eso
bien cada vez que das click al botón, lo primero que hace el macro es ir a la hoja global
y buscar si lo que intorduces en textobox6 existe o no, si existe, te pasa los datos que indicaste a los controles que indicaste, si no existe, limpia los controles y te indica que no existe
eso.
Lo ingrese en un botón y nada que lo pega, ni siquiera lo busca.
En el evento click del botón solo pones esto:
Private Sub CommandButton1_Click()
Sheets("Global").Select
buscar (Trim(TextBox6))
If existe = True Then
    TextBox2 = Range("E" & Selection.Row)
    Label15 = Range("F" & Selection.Row)
    ComboBox5 = Range("C" & Selection.Row)
    TextBox5 = Range("A" & Selection.Row)
Else
    TextBox2 = Empty
    Label15 = Empty
    ComboBox5 = Empty
    TextBox5 = Empty
    MsgBox "El registro no existe", vbInformation
End If
End Sub
Esto busca en la hoja llamada "Global"... supongo que en tu libro existe esa hoja, según tu si existe ( eso te lo pregunte antes)
Si continuas con el problema te envío la planilla de prueba a algún mail si quieres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas