Duda con vlookup

Buenas tardes,
soy nuevo en esto de las macros, y este foro me esta sirviendo de gran ayuda, por lo que he decidido registrarme. Necesito que al pulsar un botón en un formulario busque el valor de un dtpicker en una hoja excel y dependiendo de lo que devuelva tiene que hacer una cosa u otra, he puesto lo siguiente pero no funciona.
Private Sub CommandButton1_Click()
codigo = DTPicker1.Value
valor = Application.WorksheetFunction.VLookup(codigo, Worksheets("CALENDARIO").Range("B2:D4000"), 3, 0)
If valor = "Libre" Then
Beep
MsgBox "DIA RESERVADO", vbQuestion, "MENSAJE DE CONFIRMACIÓN"
Label20.Caption = "DÍA" & " " & DTPicker1.Value & " " & "RESERVADO POR" & " " & Label18

1 respuesta

Respuesta
1
Comprueba varias cosas:
- Que el rango que pones B2:4000 sea el correcto.
- Que el valor por el que buscas está en la columna B de ese rango.
- Pon al final de la fórmula un 'FALSE' no un cero.
Con eso te debería funcionar.
He cambiado el 0 por el False pero me sigue dando el mismo error, la línea:
valor = Application.WorksheetFunction.VLookup(codigo, Worksheets("CALENDARIO").Range("B2:D4000"), 3, 0)
Aparece marcada en amarillo y cuando sitúo el cursor en valor me dice valor = vacío,
¿Puede ser algo del formato? Gracias.
Parece algún tema raro de conversión. ¿En 'código' que tienes un texto o un numero en juliano?. Probablemente tengas que convertir la fecha en uno u otro lado.
Buenas noches,
Muchas gracias por tu ayuda, ya me funciona correctamente, no se exactamente lo que he hecho pero tiene algo que ver con los formatos. Gracias y perdona que haya tardado tanto en contestar. Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas