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

Preguntas similare

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
.

Respuesta Responder a este mensaje
#2 Anonimo
28/07/2004 - 18:41 | Informe spam
Pon

Selection.Find(What:=0,

en lugar de

Selection.Find(What:="0:00:00",



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
.

Respuesta Responder a este mensaje
#3 davidcorell
29/07/2004 - 10:47 | Informe spam
He probado tanto con "0" como con "0.0000" (con más o menos decimales)
como con "0,0000" y nada, me sigue dando el mismo error. También he
probado a buscar "0.5" y otros valores para ver si funciona, pero
nada...


wrote in message news:<5dfe01c474c1$c2f89e40$...
Pon

Selection.Find(What:=0,

en lugar de

Selection.Find(What:="0:00:00",



>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
>.
>
Respuesta Responder a este mensaje
#4 Fernando Arroyo
29/07/2004 - 12:49 | Informe spam
Prueba buscando "00:00:00" y sustituyendo LookIn:=xlFormulas por LookIn:=xlValues

Un saludo.


Fernando Arroyo
MS MVP - Excel

"DAvid" escribió en el mensaje news:
He probado tanto con "0" como con "0.0000" (con más o menos decimales)
como con "0,0000" y nada, me sigue dando el mismo error. También he
probado a buscar "0.5" y otros valores para ver si funciona, pero
nada...


Respuesta Responder a este mensaje
#5 davidcorell
30/07/2004 - 10:25 | Informe spam
¡¡¡¡FUNCIONA!!!! Eres un monstruo Fernando
Muchas gracias a todos


"Fernando Arroyo" wrote in message news:...
Prueba buscando "00:00:00" y sustituyendo LookIn:=xlFormulas por
LookIn:=xlValues

Un saludo.


Fernando Arroyo
MS MVP - Excel

"DAvid" escribi en el mensaje
news:
> He probado tanto con "0" como con "0.0000" (con m s o menos
decimales)
> como con "0,0000" y nada, me sigue dando el mismo error. Tambi n he
> probado a buscar "0.5" y otros valores para ver si funciona, pero
> nada...
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida