Validar una celda si contiene una Fecha o una Hora

Sres. T.E.

Tengo una Celda personalizada "hh:mm AM/PM", la cual contiene la siguiente Hora:

07:24:00 p.m., necesito grabarla en un Archivo Bloc de Notas ".txt" con el mismo formato, la misma es grabada como "0,808333333333333".

Como hacer para grabarla con el formato que muestra la celda "07:24:00 p.m."

1 respuesta

Respuesta

Te dejo una macro que abre el bloc de notas y le envía el contenido de una celda con hora tal como se observa en la imagen.

Sub llama_Notepad()
'en caso de no encontrarla mostrará mensaje
On Error GoTo MensaError
'se asigna la ruta predeterminada a la variable
ruta = "C:\Windows\notepad.exe"
'se ejecuta el archivo notepad.exe. el 3 indica que la aplicación se maximiza con foco
llamada = Shell(ruta, 3)
'copia celda con formato hora
Sheets("Hoja2").[E3].Copy
'abre el block
Shell "notepad.exe", vbNormalFocus
'envía el contenido de la celda copiada
SendKeys "^V"
Exit Sub
MensaError:
MsgBox "No se encuentra el Block de notas en la ruta asignada", , "ERROR"
End Sub

Hola Elsa.

He copiado la macro recibida al ejecutarla me muestra el siguiente Error:

"No se encuentra el Block de notas en la ruta asignada", , "ERROR"

en realidad si existe en la  "ruta = "C:\Windows\notepad.exe" no copiando la fecha en dicho block el cual la macro si lo abre.

Nota: Esto lo ejecuto en excel 2003.

¿Que estaré haciendo mal?

Saludos

Qué raro, porque mira que la macro abre y copia la hora tal cual el formato de la celda.

Probala de este modo donde se cambia el orden del copiado:

Sub llama_Notepad()
'x Elsamatilde
'en caso de no encontrarla mostrará mensaje
On Error GoTo MensaError
'se asigna la ruta predeterminada a la variable
ruta = "C:\Windows\notepad.exe"
'abre el block
Shell "notepad.exe", vbNormalFocus
'envía el contenido de la celda 
Sheets("Hoja2").[E3].Copy
SendKeys "^V"
Exit Sub
MensaError:
MsgBox "No se encuentra el Block de notas en la ruta asignada", , "ERROR"
End Sub

Sdos!

No sé porque me dejaste un comentario en otra consulta de otro tema.

Mi macro si tiene la instrucción SendKey.

Sdos y no olvides valorar la respuesta para darla por cerrada.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas