Saltar al contenido

Error con formato fecha al ejecutar macro en documento CSV


benedick

Recommended Posts

publicado

Muy buenos días, 

Mi problema radica creo que en algo en la configuración de mi equipo, resulta que:

Tengo un archivo CSV delimitado por comas, al ejecutar separar el texto en columnas desde las herramientas del excel, una de las columnas que trae un formato dd/mm/yyyy se separa correctamente, el problema radica cuando trato de hacer esa separación ejecutándola desde el VBA: la posición del día y del mes se invierten automáticamente, quedándose con el formato que nombré arriba, por ejemplo:

La columna de fecha es: ",07/12/2018,"(con formato dd,mm,yyyy), cuando ejecuto Selection.TextToColumns, la fecha queda: "12/07/2018" (con formato dd,mm,yyyy).

He leído que tengo que incluir el criterio "local:=True" cambiando la configuración de mi máquina, y la he cambiado para Venezuela (donde vivo), España y Estados Unidos porque son distintos formatos (al menos sé que si para EEUU) y persiste el problema.

Lo que me pareció mas lógico para resolver, sería cambiar la configuración de la columna objeto como "mm,dd,yyyy" para que el día y el mes se encuentren en la posición correcta para seguir ejecutando la macro, sin embargo, al probar ejecutarla en otro equipo resulta que aquel NO invierte el día y el año al ejecutar el texttocolumns por lo que al cambiar el formato, quedan al revés, por este mismo motivo sé que es problema de configuración de Excel, VBA, mi equipo, pero no encuentro como corregirlo..

Desinstalé también el paquete de Office e hice limpieza con Revo Uninstaller, hice una instalación desde 0 y persiste el problema

 

Muchas gracias a quien me pueda ayudar!!!

publicado

Disculpa, no anexé los archivos porque como creí que el tema estaba atado únicamente a este equipo.. porque como mencioné arriba, si ejecuto la macro en otro equipo con "la configuración correcta", si funciona, sólo que no se cual es esa configuración.

Con el archivo "Macro Escaladas" ejecuta la macro y cuando te pida seleccionar un archivo, elige el Reporte_Macro1, y la columna S llamada "fecha de creación" debería decir: "10/12/2018 11:26" al ejecutar la macro, queda como "12/10/2018 11:26". 

Reporte_Macro1.csv

Macro Escaladas.xlsm

publicado

Inténtalo así:

Cita

    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
        ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 2), Array _
        (20, 2)
, Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
        Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
        33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
        Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
        46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), _
        Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array( _
        59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), _
        Array(66, 1), Array(67, 1)), TrailingMinusNumbers:=True
 

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.