Buscar una fecha en una tabla
Publicado por Claudio C. (43 intervenciones) el 26/06/2007 17:17:14
Hola buenos días.
Tengo un userform con un combobox, el origen de los datos de este combobox proviene de un rango (una columna) de una hoja de mi libro.
En dicha hoja, hay una tabla con 3 columnas, la primera columna pertenece a una fecha dada (en forma ascendente hacia abajo, desde 17 de enero 1982 hasta el 17 de diciembre de 2020) todas estas fechas están en formato dd/mm/aaaa, donde dd siempre es igual a 17. Cabe aclarar, que la fecha es mostrada como mmm-aa
Bien, en el userform que comentaba, en el combobox aparecen todas las fechas de la tabla desde 17/01/1982 hasta 17/12/1982, la idea es esta: seleccionamos una fecha de aquí, y luego damos clic en un botón de comando que efectuará una búsqueda de la fecha seleccionada en la tabla mencionada y luego asignará como caption a dos etiquetas q tengo en el userform de la siguiente manera:
Una vez encontrada la fecha, a la primera etiqueta le da a su caption el valor de la siguiente celda (a la derecha) y a la segunda etiqueta lo mismo, solo que ahora el valor de la segunda celda a su derecha, espero haberme explicado.
Tengo el siguiente código:
Private Sub cmdBuskPeri_Click()
Dim PerINPC$
Dim DateFound As Range
Dim stdINPC$, stdRekrg$
PerINPC = Format(cmbPerioINPC.Value, "dd/mm/yyyy")
Sheets("Indicadores").Visible = True
ActiveWorkbook.Sheets("Indicadores").Activate
Application.Goto reference:="to2INPC"
Set DateFound = Selection.Find(What:=PerINPC, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not DateFound Is Nothing Then
DateFound.Activate
With ActiveCell
stdINPC = .Offset(0, 1).Value
stdRekrg = .Offset(0, 3).Value
End With
Else
MsgBox "No se ha encontrado el dato requerido", vbExclamation
End If
Sheets("Indicadores").Visible = False
Label4.Caption = stdINPC
Label6.Caption = stdRekrg
Me.txtINPCed.SetFocus
End Sub
Sin embargo, mi código no me está encontrado la fecha seleccionada, he efectuado la búsqueda manualmente y la fecha si está en la tabla, he estado revisando el código pero no encuentro dónde puede estar el error.
¿Alguna sugerencia? Gracias por su ayuda!!!
Claudio C.
Tengo un userform con un combobox, el origen de los datos de este combobox proviene de un rango (una columna) de una hoja de mi libro.
En dicha hoja, hay una tabla con 3 columnas, la primera columna pertenece a una fecha dada (en forma ascendente hacia abajo, desde 17 de enero 1982 hasta el 17 de diciembre de 2020) todas estas fechas están en formato dd/mm/aaaa, donde dd siempre es igual a 17. Cabe aclarar, que la fecha es mostrada como mmm-aa
Bien, en el userform que comentaba, en el combobox aparecen todas las fechas de la tabla desde 17/01/1982 hasta 17/12/1982, la idea es esta: seleccionamos una fecha de aquí, y luego damos clic en un botón de comando que efectuará una búsqueda de la fecha seleccionada en la tabla mencionada y luego asignará como caption a dos etiquetas q tengo en el userform de la siguiente manera:
Una vez encontrada la fecha, a la primera etiqueta le da a su caption el valor de la siguiente celda (a la derecha) y a la segunda etiqueta lo mismo, solo que ahora el valor de la segunda celda a su derecha, espero haberme explicado.
Tengo el siguiente código:
Private Sub cmdBuskPeri_Click()
Dim PerINPC$
Dim DateFound As Range
Dim stdINPC$, stdRekrg$
PerINPC = Format(cmbPerioINPC.Value, "dd/mm/yyyy")
Sheets("Indicadores").Visible = True
ActiveWorkbook.Sheets("Indicadores").Activate
Application.Goto reference:="to2INPC"
Set DateFound = Selection.Find(What:=PerINPC, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not DateFound Is Nothing Then
DateFound.Activate
With ActiveCell
stdINPC = .Offset(0, 1).Value
stdRekrg = .Offset(0, 3).Value
End With
Else
MsgBox "No se ha encontrado el dato requerido", vbExclamation
End If
Sheets("Indicadores").Visible = False
Label4.Caption = stdINPC
Label6.Caption = stdRekrg
Me.txtINPCed.SetFocus
End Sub
Sin embargo, mi código no me está encontrado la fecha seleccionada, he efectuado la búsqueda manualmente y la fecha si está en la tabla, he estado revisando el código pero no encuentro dónde puede estar el error.
¿Alguna sugerencia? Gracias por su ayuda!!!
Claudio C.
Valora esta pregunta


0