Durante l’importazione del file di testo nel foglio di calcolo Excel, sfortunatamente, alla fine sono state mantenute le virgole indesiderate. Diventa davvero difficile rimuovere le virgole extra nelle celle. Se stai cercando di risolvere il problema manualmente, ci vorrà molto tempo. Tuttavia, sarà molto più semplice con il codice macro .

In questo articolo ci concentreremo su come rimuovere le voci indesiderate e conservarle dove è necessario. È sempre meglio iniziare con la pulizia dei dati per evitare errori in una fase successiva e creare rapporti che altrimenti avrebbero potuto essere molto frenetici e nessuno vuole dedicare il proprio tempo a rielaborare.

Se trovi virgole non necessarie nei dati, puoi rimuoverle, grazie a varie funzioni, come TAGLIA, SOSTITUISCI, TROVA, LUNGA, SOSTITUISCI oppure puoi usare TROVA E SOSTITUISCI (CTRL + H). Puoi scegliere tra diversi metodi per rimuoverli.

In questo articolo, ci concentreremo su come rimuovere le virgole indesiderate dai file CSV importati e quindi salvare dopo che la pulizia è stata completata tramite codice VBA.

Domanda: fare riferimento al file txt di esempio in allegato. Ho bisogno di un codice vb per cancellare gli ultimi 8 caratteri della riga 5 Per ulteriori informazioni sulla domanda puoi fare clic su questo http://www.excelforum.com/excel-programming-vba-macros/1092402-vb-code-to -delete-last-character.html [link]

Di seguito è riportata l’istantanea del file del blocco note:

img1

La riga 5 ha il seguente testo in “RX408282,20150630 ,,,,,,,,,”

mentre deve essere “RX408282,20150630” * e allo stesso tempo il codice VBA non dovrebbe eliminare la virgola nelle 4 righe precedenti.

Per ottenere il codice, dobbiamo seguire i passaggi seguenti per avviare l’editor VB:

Fare clic sulla scheda Sviluppatore Dal gruppo Codice, selezionare Visual Basic

img2

  • Copia il codice seguente nel modulo standard

Sub test()

Dim fn As String, txt As String

fn = Application.GetOpenFilename("TextFiles,*.txt")

If fn = "" Then Exit Sub

txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(fn).ReadAll

With CreateObject("VBScript.RegExp")

.Global = True: .MultiLine = True

.Pattern = ",+$"

Open Replace(fn, ".txt", "_Clean.txt") For Output As #1

Print #1, .Replace(txt, "")

Close #1

End With

End Sub

img3

===

Spiegazione del codice:

  • Il codice sopra ti chiederà prima di selezionare il file in cui si trova

===

img4

===

Dopo l’esecuzione del codice, otteniamo un file di output con nome * Test_Clean

img5

  • Per verificare se il codice funziona correttamente o meno; apriamo il file .txt e vediamo i risultati

img6

Possiamo vedere l’ultima riga, ad esempio la riga # 5, che in precedenza aveva virgole indesiderate alla fine, ora è stata corretta Conclusione: * In questo modo, possiamo rimuovere le virgole extra da una cartella specificata e quindi salvare i dati corretti in un altro file di blocco note.

image 48 If you liked our blogs, share it with your friends on Facebook. And also you can follow us on Twitter and Facebook.

_ Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]_