Excel VBA modulo Convertire Separatore per CSV


Con questo articolo vi spiego come è semplice convertire un csv esistente in un file CSV con la virgola come separatore e utilizzando excel:

  • Alt+F11 per aprire l'editor di VBA
  • Alt+IM per inserire un nuovo modulo di codice

Nel nuovo modulo vuoto, incollare il seguente codice:

'=========>>
Option Explicit

'--------->>
Public Sub ConvertireSeparatorePerCSV()
Dim srcRng As Range
Dim rRow As Range
Dim rCell As Range
Dim sStr As String
Dim FName As Variant
Const sSeparatoreVoluto As String = "," '<<=== Modifica

FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")

If FName <> False Then
If Selection.Cells.Count > 1 Then
Set srcRng = Selection
Else
Set srcRng = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each rRow In srcRng.Rows
sStr = ""
For Each rCell In rRow.Cells
sStr = sStr & """" & rCell.Value & """" & sSeparatoreVoluto
Next
While Right(sStr, 1) = sSeparatoreVoluto
sStr = Left(sStr, Len(sStr) - 1)
Wend
Print #1, sStr
Next
Close #1
End If
End Sub
'<<=========

  • Alt+Q per chiudere l'editor di VBA e tornare a Excel.
  • Alt+F8 per aprire la finestra di gestione delle macro
  • Seleziona ConvertireSeparatorePerCSV | Esegui