› Excel e gli applicativi Microsoft Office › Macro testo in colonne e formato date
-
AutoreArticoli
-
Ciao a tutti,
ho registrato una macro che inizia semplicemente portando il testo che si trova in un unica colonna su più colonne.
Il problema che ho è che nella prima colonna che viene divisa le date sono in formato dd-mm-yyyy e quando eseguo la macro alcune date vengono convertite in mm/dd/yyyy mentre altre rimangono con il trattino "-". Per le date convertite i giorni vengono quindi rilavati alla fine di tutto come mesi e viceversa.
Esempio la data 12-01-2018 viene convertita in 01/12/2018 ma la data 18-01-2018 rimane con il "-". Credo quindi che rilevi le prime 2 cifre come il mese e quando le prime 2 cifre sono superiori a 12 non rilevando un mese lascia tutto cosi come è.
Ho sistemato successivamente le date che rimangono con "-" con un trova sostituisci con "/" e il formato rimane corretto però non so come fare rilevare alla macro che divide in colonne il formato data giusto!
Qualcuno sa aiutarmi?
Grazie
Qualcuno sa aiutarmi?
Senza vedere il file?
Forse, potrebbe essere il formato della cella... Chissà...
Semplificando ho questo in un unica colonna:
Data Descrizione10-01-2018 testo10-01-2018 testo12-01-2018 testo18-01-2018 testo18-01-2018 testoSe eseguo manualmente testo in colonne ho questo (che è corretto):
Data Descrizione10/01/2018 testo10/01/2018 testo12/01/2018 testo18/01/2018 testo18/01/2018 testoCon macro invece ho questo (10 gennaio diventa 1 ottobre):
Data Descrizione01/10/2018 testo01/10/2018 testo01/12/2018 testo18-01-2018 testo18-01-2018 testoLa macro che uso è questa:
Sub Macro1()'' Macro1 Macro''Columns("A:A").SelectSelection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _FieldInfo:=Array(Array(0, 1), Array(14, 1)), TrailingMinusNumbers:=TrueEnd SubQuando ti chiedono un file di esempio è meglio allegarlo, altrimenti chi ti vorrebbe aiutare ci rinuncia.
Salve a tutti
Ha ragione patel (ciao Andrea) quando dice che è necessario allegare il file ma la cosa mi ha incuriosito e mi sono ricreato il tuo file ed ho utilizzato la tua macro.
Guarda un po' non fa esattamente quello che dici perchè a me le "date" rimangono stringhe (allineate a sinistra nella cella formattata a Generale) e col trattino (non con la barra).
Allora ho formattato la colonna C come data (con la barra e anno per esteso) ed ho dato come destinazione la cella C1; quindi ho lanciato la macro. Risposta corretta MA le date rimangono stringhe (come sopra)
Probabilmente l'inghippo è un altro. Non è che per caso hai la versione di Excel in inglese?
Ciao,
Mario
Ciao,
grazie per la risposta.
Non ho il pc con me in cui ho fatto l'estrazione ma ho provato da un altro computer con la stessa versione di excel (ho office 365 in italiano) e in effetti da questo pc è come dici te (i trattini rimangono tutti).
Verifico appena torno all'altro e vi faccio sapere
Ecco il file.
Se anche in questo caso a voi non fa questa cosa potrebbe essere qualche impostazione di excel o windows?
Allegati:
You must be logged in to view attached files.Ciao
Non capisco perchè prima non me lo faceva ma adesso mi presenta i dati come dici tu.
Ho scoperto di cosa si tratta. Nella parte della Funzione TextToColumns quando si dà il tipo di dati da esaminare, cioè il parametro FieldInfo.
Questa è una matrice contenente informazioni di analisi per le singole colonne di dati. L'interpretazione dipende dal valore di DataType.
Quando i dati sono delimitati, questo argomento è un array di matrici a due elementi, con ogni array a due elementi che specifica le opzioni di conversione per una particolare colonna. Il primo elemento è il numero di colonna (basato su 1) e il secondo elemento è una delle costanti XlColumnDataType che specifica come viene analizzata la colonna.
Nel tuo caso, visto che la prima colonna è quella delle date, la parte di codice che si riferisce alla prima colonna deve essere FieldInfo:=Array(Array(0, 4), Array(14, 1))
Per maggiori ragguagli leggi a questo indirizzo:
https://docs.microsoft.com/en-us/office/vba/api/excel.range.texttocolumns
Fai sapere. Ciao,
Mario
-
AutoreArticoli
