** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - pasar de texto a fecha no me funciona
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradopasar de texto a fecha no me funciona

 Responder Responder
Autor
Mensaje
acilu55 Ver desplegable
Habitual
Habitual


Unido: 27/Septiembre/2011
Estado: Sin conexión
Puntos: 169
Enlace directo a este mensaje Tema: pasar de texto a fecha no me funciona
    Enviado: 15/Septiembre/2021 a las 09:42
Tengo una hoja en la que una columna encabezada como fecha tiene formato de texto y los valores 01/03/2021
05/03/2021
...
Asi hasta 6000 o siete mil registros anuales.

Dando a la columna el formato fecha no lo reconoce como tal
Si me coloca en la celda y suprimí un carácter al final del contenido y se convierte en fecha.

Si paso esta función

sub p1()

dim ult as integer
ult=Cells(Rows.count, 1).End(xlUp).Row

for n = 2 to ult
celdilla= "g"& n
v1= Range(celdilla).Value
Range(celdilla).Value=Left(v1, 10)
next
end sub

de resultado obtengo que un 30% de las celdas toman el formato de fecha y se alinean a la derecha pero el resto siguen siendo texto alineado a la izquierda.

A alguien se le ocurre que puedo hacer?

Gracias a todos de antemano
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 13995
Respuesta Respuesta
Enlace directo a este mensaje Enviado: 15/Septiembre/2021 a las 10:36
Sin ver tus datos asumiré que todas las celdas tienen un formato que, aparentemente, es este: dd/mm/aaaa.

Entonces yo crearía un array para obtener cada uno de los componentes y regeneraría la fecha

Algo así:

    Dim i As Integer
    Dim arrFecha As Variant
    i = 2
    Cells(i, 7).Select
    Do Until ActiveCell = ""
        arrFecha = Split(ActiveCell, "/")
        ActiveCell.Value = DateSerial(CInt(arrFecha(2)), CInt(arrFecha(1)), CInt(arrFecha(0)))
        i = i + 1
        Cells(i, 7).Select
    Loop

Escrito al vuelo


Editado por xavi - 15/Septiembre/2021 a las 10:36
Xavi, un minyó de Terrassa

Mi web
Arriba
acilu55 Ver desplegable
Habitual
Habitual


Unido: 27/Septiembre/2011
Estado: Sin conexión
Puntos: 169
Enlace directo a este mensaje Enviado: 15/Septiembre/2021 a las 11:46
muchas gracias Xavi. Funciona perfectamente
Gracias a todos de antemano
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable