Buscar una hora mediante macro

28/07/2004 - 18:07 por davidcorell | Informe spam
Mi problema es el siguiente,
He creado una macro en donde selecciono una columna con formato hora
("[hh]:mm:ss") y busco la primera celda donde la hora es "00:00:00".
Luego copio las 9999 filas inferiores y las pego en la misma hoja
cuando me situo en la celda A2.
El código es el siguiente:
Columns("B:B").Select
Selection.Find(What:="0:00:00", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Rows("1:9999").EntireRow.Select
Application.CutCopyMode = False
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Cuando grabo la macro todo funciona perfectamente, pero cuando la
vuelvo a ejecutar me aparece un error en el código en la parte de:
Selection.Find(What:="0:00:00", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False).Activate
He probado a buscar un texto en dicha columna (en vez de buscar
"0:00:00" buscar "pepito") y la macro no se cuelga.
No entiendo como cuando creo la macro todo funciona bien y cuando la
ejecuta entonces se cuelga. Creo q excel no entiende la HORA q busco.
¿Cómo puedo solucionar este problema?

Gracias por vuestra ayuda
 

Leer las respuestas

#1 bosco
28/07/2004 - 18:30 | Informe spam
David, las horas, aunque las veamos como tal en realidad
se tratan como numeros decimales de 0 a 1. Las 00:00:00 es
0,0000, las 12:00:00 es 0,5000 y las 24:00:00 es 1,0000.

cada hora son aproximadamente 0,0416666666.

Prueba a buscar el valor 0 y creo que te debería funcionar.

Con las fechas pasa algo parecido. En realidad cada fecha
es un numero entero igual al numero de dias que hay entre
esa fecha y el 1/1/1900.

Saludos
Bosco

Mi problema es el siguiente,
He creado una macro en donde selecciono una columna con


formato hora
("[hh]:mm:ss") y busco la primera celda donde la hora


es "00:00:00".
Luego copio las 9999 filas inferiores y las pego en la


misma hoja
cuando me situo en la celda A2.
El código es el siguiente:
Columns("B:B").Select
Selection.Find(What:="0:00:00", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Rows("1:9999").EntireRow.Select
Application.CutCopyMode = False
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Cuando grabo la macro todo funciona perfectamente, pero


cuando la
vuelvo a ejecutar me aparece un error en el código en la


parte de:
Selection.Find(What:="0:00:00", After:=ActiveCell,
LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows,
SearchDirection:=xlNext, _
MatchCase:=False).Activate
He probado a buscar un texto en dicha columna (en vez de


buscar
"0:00:00" buscar "pepito") y la macro no se cuelga.
No entiendo como cuando creo la macro todo funciona bien


y cuando la
ejecuta entonces se cuelga. Creo q excel no entiende la


HORA q busco.
¿Cómo puedo solucionar este problema?

Gracias por vuestra ayuda
.

Preguntas similares