| | Post: 4 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 15:04 | |
Devo caricare, tramite una Macro, un file csv in un foglio di un file excel, nel file sono presenti 2 date per record
Nel file csv le date hanno formato GGMMAAAA.
Alcuni records vengono caricati correttamene altri, senza una regole apparente, vengono caricati MMGGAAAA.
Nel file Excel allegato le date NON corrette sono evidenziate in giallo
Ho provato diverse strade ma senza risultato, confido nella Vs perizia.
Allego il file csv e il file Excel. ( Macro Carica = Crtl+C)
Ho Excel 2019
Cordiali saluti e un ringraziamento in anticipo.
Maurizio Marucchi [Modificato da by sal 08/06/2022 17:16] |
|
| | Post: 278 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 15:23 | |
manca il file con macro
LEO
https://t.me/LordBrum |
| | Post: 4 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 15:38 | |
L'ho allegato ma non è stato caricato.
Ho riprovato, lo seleziono ma quando premo il pulsante Upload, non lo carica nonostante l'abbia zippato.
|
| | Post: 279 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 15:42 | |
quanto è grande di suo ? e zippato ?
se piu di 3 mega puoi usare https://wetransfer.com[Modificato da L2018 08/06/2022 15:46]
LEO
https://t.me/LordBrum |
| | Post: 5 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 15:43 | |
Sub Carica() ' ' Carica Macro ' ' Scelta rapida da tastiera: CTRL+c ' ' Azzera foglio Movimanti Worksheets("Movimenti").Select Selection.ClearContents ' Call SelezionaFile(NomeFile, FlagErrore) If FlagErrore = True Then MsgBox " Non è stato scelto il file, ripetere" GoTo Fine End If Worksheets("Movimenti").Select Open NomeFile For Input As #1 Riga = 1 Do Until EOF(1) Line Input #1, Linea Matrice = Split(Linea, ";") Col = UBound(Matrice) - LBound(Matrice) + 1 For I = 1 To Col Cells(Riga, I) = Matrice(I - 1) Next I Riga = Riga + 1 Loop Close #1 Fine: End Sub Sub SelezionaFile(NomeFile, FlagErrore) FlagErrore = False With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Filters.Clear .InitialView = msoFileDialogViewList .Title = "Scelta File" .ButtonName = "OK Vai!" .Show NomeFile = .SelectedItems(1) If .SelectedItems.Count = 0 Then FlagErrore = True End With End Sub |
| | Post: 6 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 15:47 | |
Dim Originale 60 Kb, zippato 58 Kb
|
| | Post: 280 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 15:48 | |
non so aiutarti nel merito, cercavo solo di far risparmiare tempo a te e a chi ti aiuterà
il file completo è meglio sia pure senza dati sensibili
LEO
https://t.me/LordBrum |
| | Post: 281 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 15:49 | |
maurizio.ma, 08/06/2022 15:47:
Dim Originale 60 Kb, zippato 58 Kb
è piccolo, e allora devi fare piu attenzione nel caricarlo
carica senza zipparlo ma con piu calma e attenzione [Modificato da L2018 08/06/2022 15:51]
LEO
https://t.me/LordBrum |
| | Post: 7 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 15:56 | |
Più che selezionarlo e cliccare sul pulsante Upload non faccio. |
| | Post: 282 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 16:08 | |
ho caricato io a mano il csv nel file, dove però c'è anche la macro
se ti serve altro devi aspettare chi sa manomettere la macro
ma io non vedo errori di date, a occhio mi sembrano tutte GG MM AAAA
forse nel file che ti ho dato devi reinserire la TUA macro perchè io ho cambiato inutilmente il il nome da Movimenti a Foglio1
sì, adesso sono riuscito a farla funzionare ed in effetti ho visto l'errore che dichiari, dobbiamo aspettare l'esperto
LEO [Modificato da L2018 08/06/2022 16:19]
LEO
https://t.me/LordBrum |
| | Post: 8 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 16:28 | |
Per poterlo caricare ho rinominato il file Prova.ZIP in Prova.xls
Sappiate cha si tratta di un .ZIP rinominato
Scusate ma era l'unico modo per farlo digerire al programma |
| | Post: 9 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 16:31 | |
L2018, 08/06/2022 16:08:
ho caricato io a mano il csv nel file, dove però c'è anche la macro
se ti serve altro devi aspettare chi sa manomettere la macro
ma io non vedo errori di date, a occhio mi sembrano tutte GG MM AAAA
forse nel file che ti ho dato devi reinserire la TUA macro perchè io ho cambiato inutilmente il il nome da Movimenti a Foglio1
sì, adesso sono riuscito a farla funzionare ed in effetti ho visto l'errore che dichiari, dobbiamo aspettare l'esperto
LEO
Grazie comunque Leo |
| | Post: 283 | Registrato il: 02/04/2018
| Città: PESCARA | Età: 75 | Utente Junior | EXCEL 2016 - SPREAD32 | | OFFLINE |
|
08/06/2022 17:09 | |
intanto forse si farebbe prima a correggere le date sbagliate nel CSV, altrimenti poi si crea la necessità di interpretarle e riformattarle
esempio da 23/8/2021 a 23/08/2021
ma ho notato ANCHE che se da EXCEL io faccio il prelievo di un generico CSV senza usare macro, il tuo CSV viene caricato correggendo automaticamente gli errori di data.
Quindi la domanda:
La macro serve SOLO per caricare il CSV ?
Leo [Modificato da L2018 08/06/2022 17:17]
LEO
https://t.me/LordBrum |
| | Post: 6.832 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | ONLINE |
|
08/06/2022 17:12 | |
Ciao, Maurizio, sto dando un occhiata al file, perche usi una macro per caricare il file CSV.
non puoi fare importa csv nel menu dati, io l'ho fatto e le date sono giuste, ecco un immagine
elimino anche il tuo file csv perche credo che ci siano dati sensibili, ATTENZIONE!!!! ed inserire file
ora do uno sguardo alla macro
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 10 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 17:16 | |
In effetti si tratta del prezzo dei caricamento di un foglio excel molto più complesso.
Ho riportato solo la macro di caricamento perché sbaglia.
Quanto ai dati sono solo nomi e cognomi nulla di sensibile, comunque grazie |
| | Post: 6.833 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | ONLINE |
|
08/06/2022 17:26 | |
Ciao Maurizio io invece ho visto coordinate bancarie, fose sbaglio
anche se il file è più complesso puoi farlo con Power query, puoi importare e modificare quello che vuoi, ho visto che hai Excel2019 e puoi farlo tranquillamente.
anche il'importo sembra corretto, non l'ho modificato per mettere i decimali ma sembrano giusti
cosa è che non ti trovi?
adesso importo il file con la macro e vedo la differenza
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 11 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 17:51 | |
Si tratta di un file da dare ai cassieri di un Gas ( gruppo di acquisto Solidale ), che non hanno excel recenti, per gestire la contabilità in modo più agevole e "automatizzato".
PS Quello che può sembrare una coordinata bancaria in effetti si tratta del numero di versamento.
Grazie |
| | Post: 6.834 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | ONLINE |
|
08/06/2022 17:57 | |
Ciao ti sto modificando la macro, in quanto alcune date le inserisce come testo ed altre come date, ed anche L'importo è la stessa cosa.
quando si carica un file CSV di norma tutti i dati all'interno vengono considerati testo, dipende anche dal gestionale che crea il file CSV, e quindi quanto si caricano i dati i dati non sono formattati nel modo giusto ed Excel non li riconosce o meglio li considera testo, e quindi se si devono fare calcoli o ricerche non funzionano.
Ciao a breve ti inserisco la macro giusta per fare le prove. By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 6.835 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | ONLINE |
|
08/06/2022 18:18 | |
Ciao Maurizio ecco la macro modificata, dovresti dichiarare le variabili, io ne ho aggiunta 1 per la conversione, più facile da usare al posto dell'indice matrice.
eccola
Sub Carica()
'
' Carica Macro
'
' Scelta rapida da tastiera: CTRL+c
'
' Azzera foglio Movimanti
Worksheets("Movimenti").Select
Cells.ClearContents
'
Call SelezionaFile(NomeFile, FlagErrore)
If FlagErrore = True Then
MsgBox " Non è stato scelto il file, ripetere"
GoTo Fine
End If
Worksheets("Movimenti").Select
Open NomeFile For Input As #1
Riga = 1
Do Until EOF(1)
Line Input #1, Linea
Matrice = Split(Linea, ";")
Col = UBound(Matrice) - LBound(Matrice) + 1
For I = 1 To Col
d = Matrice(I - 1)
If I = 1 Or I = 2 Then
If IsDate(d) Then Cells(Riga, I) = CDate(d) Else Cells(Riga, I) = d
ElseIf I = 5 And IsNumeric(d) Then
Cells(Riga, I) = CDbl(d)
Else
Cells(Riga, I) = Matrice(I - 1)
End If
Next I
Riga = Riga + 1
Loop
Close #1
Fine:
End Sub
in effetti prende il valore della matrice corrispondente alla data oppure all'importo e li converte in data o numero
Fai sapere, Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 12 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 18:56 | |
Sal, la soluzione che mai hai propostoo FUNZIONA alla grande!!!
Un grande ringraziamento.
Maurizio |
| | Post: 13 | Registrato il: 18/12/2019
| Età: 72 | Utente Junior | Excel 2019 | | OFFLINE | |
|
08/06/2022 19:00 | |
Come faccio a mettere il tag RISOLTO nel titolo? |
|
|