VLookup con 2 condiciones...

TAVO: Mi misión en la vida es complicarme la existencia... Pero, al menos, podemos ayudar a otro que esté en mi misma situación (o parecida)...
Este es el tema: tengo una hoja1, con la fecha en la Col A, la hora en la Col B y Paciente en la Col C. Necesito que, al introducir una fecha en un Label (viene de otro UserForm) y una hora a través de un ComboBox, me indique en otro Label si ese horario ya está dado...
Esto es, sería... Buscar la FECHA en Col A; dentro de los turnos de ese día, la HORA indicada en el ComboBox1. SI NO LA ENCUENTRA (a la HORA), significa que el Turno está DISPONIBLE; caso contrario, que me permita insertar NUEVA FILA, con la Fecha en A, la Hora en B y el Paciente en C...
¡Ojo! El día PUEDE NO ESTAR, si no se han dado turnos para esa fecha (ej, 14 de diciembre del 2008)
Gracias, Master!

1 respuesta

Respuesta
1
Como ya estás trabajando con VBA, pienso que deberías revisar en la columna primero por una condición (por ejemplo la fecha), en caso de encontrar esa fecha, entonces seguirías con la segunda condición (pero sólo para esas filas en las que existe esa fecha).
Si de entrada no encuentras la fecha, sabes que no se han asignado citas ese día, por lo que no habría problema, en cuanto a la hora, se puede ir evaluando a medida que se encuentra una fecha que coincide, si la hora también coincide.
¿La fecha la busco con If(App.WFunct.CountIf(...A10:A1000,Label1.Caption)>0) Then..?
Pero se me cruzan los códigos..!
¿Algún bosquejo que cómo debería encaminar el código?
Gracias!
Yo diría que lo hagas con un bloque For, algo así:
Dim c al Range
For each c in Range("A1:A100"
    If c.Value = Combo1.Value Then
         'Aquí se revisaría si el valor de la segunda columna también coincide
         If Range("B" & Ltrim(Str(c.row))).Value = Combo2.Value Then
               'Aquí va el código para cuando ambos coinciden
         End If
    End If
Next c
Cierro para no joderte, Tavito. Después la pruebo (ando en otras). En el finde te mando el archivo que te dije.
Un abrazo, y buen fin de semana.
Oscar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas