VBA problema de fechas día-mes

Tengo un problema al procesar unos datos en Excel, cuando proceso una fechas que vienen en formato general, son fechas escritas así "02.12.2017". El problema viene a la hora de meterlas a una variable ya que me cambia el día con el mes, o cuando cambio el formato de la celda a fecha pasa lo mismo la fecha pasa a ser "12/02/2017".

El problema si no me equivoco viene por el tema de la gestión de fechas americana, pero no se como corregirlo, no se que característica debo activar en VBA para que coja esas fechas en el formato Date(dd/mm/aaaa). El archivo es un CSV descargado de SAP y me gustaría poder trabajar con la fechas, ya sea para ordenarlas de mayor a menor o para restar días, pero en cuanto hago algo con ellas cambia días por meses.

Respuesta
1

Quizá, para no complicarte con macros (no al inicio al menos), te convenga hacer algo así:

1- Usa una formula de este tipo: "=SUSTITUIR(A1,".","/")"   

2- Vamos a suponer que la formula anterior está en la celda "B1", entonces en la celda "C1" colocamos algo así: "=B1*1" y en "Formato de celdas" le damos una del tipo "Fecha". Listo, cuando usemos el valor de "C1", tu VBA lo tomará como la fecha que deseabas.

Comentas

Abraham Valencia

Esa opción ya la había hecho, pero quería algo más profesional, ya que el código no varia pero las celdas si se pueden mover.

Gracias de todas formas.

Asumo que cuando dices "más profesional" te refieres a usar VBA, aunque a veces yo me decanto por las formas más "nativas" del Excel.

Dado que el rango de esas fechas varía, usaremos "Selection", aunque siempre recomiendo no usarlo:

Sub Profesional()
Dim Celdas As Range
For Each Celdas In Selection
Celdas = CDate(Replace(Celdas, ".", "/"))
Next Celdas
End Sub

Solo seleccionas el rango, corres la macro y listo.

Salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas