Función Buscar V VBA en Userform

Estoy realizando un formulario y necesito aplicar la función buscarv (consultav) para que tomando el valor introducido en un combobox (txtnumero) encuentre el valor en una hoja (y lo copie en la celda activa).

Os adjunto el código que se ejecuta y os agradecería vuestra ayuda para implementar el código de forma correcta.

---

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False 'Ocultamos las acciones en la pantalla
'fijamos la fecha actual
Dim fechaActual As Date
Dim horaActual As Date
fechaActual = Date
horaActual = Now
txtpeso.SetFocus 'Envia el cursor al Textbox de la fecha para volver a capturar los datos
Sheets("DATOS_MORERAS").Select 'Se selecciona la hoja y la celda donde se van a registrar los datos del formulario
Range("A2").Select 'Se selecciona la celda donde se registra el primer dato del formulario
Do While Not IsEmpty(ActiveCell) 'encuentra la ultima celda con datos
ActiveCell.Offset(1, 0).Select 'en la ultima celda con datos, muevete una fila abajo
Loop 'bucle
ActiveCell = fechaActual 'asigna la fecha actual a la celda activa
ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha
ActiveCell = horaActual 'asigna la hora actual a la celda activa
ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha
ActiveCell = CDec(txtpeso) 'copia el contenido del textbox1 a la celda activa como número decimal
ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha
ActiveCell = txtnumero 'copia el contenido del textbox2 a la celda activa
ActiveCell = Val(txtnumero.Value) 'da formato a la celda de numero
ActiveCell.Offset(0, 1).Select 'muevete en la misma fila, una columna a la derecha
txtpeso = Empty 'dejar en blanco el campo
txtnumero = Empty 'dejar en blanco el campo
MsgBox "Datos de pesaje guardados" 'mostrar el mensaje "Datos de pesaje guardados"
Sheets("INICIO").Select 'selecciona la hoja de inicio
End Sub

1 respuesta

Respuesta

[Hola

En el "asunto" de tu pregunta dices que necesitas algo tipo "BuscarV" en un "UserForm" pero l macro que envías lo que hace es enviar información de un "UserForm" a una hoja, entonces ¿qué es lo que realmente necesitas? Así como se ve, no hay relación entre ambas cosas.

Abraham Valencia

Disculpa, pero el código estaba incompleto, he conseguido solucionar parte del problema con el siguiente código, aplicado a un campo con formato decimal, pero ahora quiero hacer lo mismo con un formato fecha, ¿podrías orientarme?

'ASOCIAR NUMERO CON NOMBRE DE TRABAJADORES
'Declaramos las variables.
Dim Numero As String
Dim Rango As Range
Dim NombreBuscado As Variant
'
Set Rango = Sheets("TRABAJADORES").Range("D3:E200").CurrentRegion
'
'Validamos si el valor es numérico.
NombreBuscado = Me.txtnumero.Value
If IsNumeric(NombreBuscado) Then
    NombreBuscado = CDec(NombreBuscado)
End If
'Asignamos a la variable Nombre el resultado del BUSCARV.
Numero = Application.WorksheetFunction.VLookup(NombreBuscado, Rango, 2, 0)
'
'Pasamos el resultado al cuadro de texto (TextBox).
ActiveCell = Numero
'FIN DE LA ASOCIACIÓN DEL NUMERO CON NOMBRE DE TRABAJADORES

[Hola

Es el mismo procedimiento sea cual sea el dato o su tipo, la cuestión es que el dato de la columna izquierda de la matriz con el dato que "buscas" en "Application.WorksheetFunction.VLookup" tal cual cuando usas "BuscarV".

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas