estrazione data da nome file
Hai un problema con Excel? 
estrazione data da nome file
di mb data: 06/03/2017 13:49:01
Buongiorno
Grazie al Vostro aiuto e mettendo insieme un po' di righe sono riuscito ad aveduarmi un file che mi serve per l'elaborazione dei dati
ho però riscontrato un problema legato alla data
la procedura estrae dei dati da file presenti in una cartella ( in questo caso potrebbe essere anche fissa senza usare la finestra di dialogo, ma questo non è rilevante ) divide il nome del file e la data.
il problema è che se il file è salvato pippo04_02_2017 il file viene riportato in modo regolare
se invece il file è salvato come pippo04-02-2017 il file viene indicato con la data del giorno e mese invertito come si nota nel file
cosa posso fare in questo caso per evitare il problema:
1 far salvare il file come nel primo caso
2 modificare la prcedura VBA ..... come però ???
Spero di aver reso comprensibile il problema
Grazie
di mb data: 06/03/2017 13:57:12
Ho creato al volo 2 file d'esempio che arrivano durante il giorno con i dati che servono
grazie
di Mister_x (utente non iscritto) data: 06/03/2017 15:15:25
ciao
modifica della data da VBA
ciao
Sub ModificaData()
Dim i As Long
Dim DataS As Variant
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
DataS = Cells(i, 2).Value
Cells(i, 2) = DateValue(Replace(DataS, "_", "/"))
Cells(i, 2).NumberFormat = "dd-mm-yyyy"
Next i
End Sub
|
di mb data: 06/03/2017 15:48:21
Ottimo Mister x
funziona perfettamente
alla prossima
di mb data: 06/03/2017 18:47:43
chiedo scusa
ho ancora fatto delle prove con nuovi file ma continua ad invertire la data
pippo 02-04-2017
pippo 02-05-2017
invece di scrivere
pippo 04-02-2017
pippo 05-02-2017
la sub scritta l'ho letta ma mi sembra che sostituisca solo i simboli _ e / ma non scriva gg-mm-aaaa
quindi mi ritrovo sempre mm-gg-aaaa
scusate.....
di mb data: 07/03/2017 09:16:46
Ecco il risultato che ho ottenuto questa mattina
deposito importo data
a 3.823,46 03/06/2017
b 4.528,07 03/06/2017
c 2.557,59 03/06/2017
d 1.985,32 03/06/2017
e 5.266,94 03/06/2017
f 2.811,04 03/06/2017
g 4.513,89 03/06/2017
k 4.589,58 03/06/2017
Come vedete nella colonna data ci dovrebbe essere 6/03/2017 invece è riportato 3 giugno ??
Appena riesco provo a generare un nuovo file con tutta la sub per verificare che non ci sia un problema di formato celle
Buona giornata
Risolto ho impostato la colonna della data come testo e adesso funziona davvero tutto
alla prossima
di Mister_x (utente non iscritto) data: 07/03/2017 09:54:57
ciao
il problema sta che se tu metti la ( - ) excel la trasforma in formato USA mese giorno anno ,
mentre il formato europeo vuole la ( / )
i valori sono uguali data che come sai la data non e' niet'altro che un valore numerico quindi sta a te la scelta di come intervenire
ciao
Sub ModificaData()
Dim i As Long
Dim DataS As Variant
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
DataS = Cells(i, 2).Value
Cells(i, 2) = DateValue(Replace(DataS, "_", "/"))
Cells(i, 2).NumberFormat = "dd-mm-yyyy" 'usa
Cells(i, 2).NumberFormat = "dd/mm/yyyy" 'europa o italia
Next i
End Sub
|
di Mister_x (utente non iscritto) data: 07/03/2017 10:11:01
ciao
mi sono dimenticato di dirti se non ti interessa avere nella cella una data ma solamente la trasformazione di questa
da cosi' 05_03_2017 a 05-03-2017 devi usare un altro metodo di conversione
ti posto la sub() modificata per questi
riciao
Sub ModificaData()
Dim i As Long
Dim DataS As Variant
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
DataS = Cells(i, 2).Value
Cells(i, 2).NumberFormat = "@"
Cells(i, 2) = Replace(DataS, "_", "-")
Next i
End Sub
|
di mb data: 07/03/2017 10:25:22
Grazie Misterx
farò tesoro prezioso di tutte le tue info
p.s mi piace molto anche la versione corta per trovare l'ultima riga occupata!!!
di mb data: 07/03/2017 10:25:51
grazie
Vuoi Approfondire?