¿Cómo puedo corregir el error "1004" en tiempo de ejecución: Error definido por la aplicación o el objeto? Usando Vlookup
Me gustaría me pudieran auxiliar. Estoy haciendo una Macros para poder capturar en un formulario los nombres de mis pacientes usando Textbox, donde van "Nombre", "Apellido" y "Número de sesión".
Usando la función Vlookup estoy tratando de que los campos en los Textbox se llenen automáticamente. Al escribir en el Textbox2 el "nombre" quiero que al hacer click en un botón de comando me lance los datos que hay en registro que tengo en la "hoja 2" y que los textbox de "apellido" y "número de sesión" se llenen automáticamente con el ultimo número de sesión que hay en el registro, que en este caso sería el 5.
Este es el registro con el rango de columnas que me interesa buscar:
Y esta es la Macros con la que he estado intentando que funcione el Botón en el formulario:
Private Sub cmdBuscarSeguimiento_Click()
Dim Nombre As Variant
Dim Apellido As Variant
Dim Sesion As Byte
Dim UltimaFila As Range
Nombre = Me.TextBox2.Value
Set UltimaFila = Sheets("Seguimiento").Range("A" & Rows.Count).End(xlUp).Rows
Apellido = Application.WorksheetFunction.VLookup(Nombre, Sheets(2).Range("A6:G" & UltimaFila), 3, 0)
Sesion = Application.WorksheetFunction.VLookup(Nombre, Sheets("Seguimiento").Range("A6:G" & UltimaFila), 4, 0)
'Pasamos el resultado al cuadro de texto (TextBox)
With Me
.TextBox3.Value = Apellido
.Label13.Visible = False
.TextBox4.Value = Sesion
.TextBox2.SetFocus
End With
End sub
Pero la poner el nombre en el textbox2 y dar click en el botón me aparece esto:
Y me marca en amarillo el siguiente renglón del código:
Apellido = Application.WorksheetFunction.VLookup(Nombre, Sheets(2).Range("A6:G" & UltimaFila), 3, 0)
Entonces no se si estoy definiendo mal las variables o estoy usando mal la función Vlookup, ¿o tendría que usar el ciclo For?