Buongiorno a tutti! sono un ragazzo delle superiori che in questo momento sta facendo lo stage estivo,arrivo al dunque, la società per cui "lavoro" mi ha chiesto di fare questo compito,solo che ora sono bloccato, il compito consiste nel creare una macro da vba che prenda dei dati da un foglio txt e li trascriva sulle celle Excel,fin qua nulla di difficile,il problema è che nel foglio mi hanno chiesto di separare le parole con le virgole e per andare a capo con il punto e virgola solo che non so come fare,potreste aiutarmi?
questo è il codice che per il momento ho messo:
Private Sub CommandButton1_Click()
Dim nRiga As Long, nvo As Integer, nv As Integer
Dim nCol As Integer, Testo As String, Riga As String
Dim myfile As String
myfile = "C:\Users\k4tech\Desktop\combo_fatale\nome_semplice.txt"
'percorso = ActiveWorkbook.Path
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "text", "*.txt", 1
.Show
If .SelectedItems.Count = 0 Then
MsgBox ("Nessun File selezionato, procedura annullata,stupida bb")
Exit Sub
End If
Open myfile For Input As #1
nRiga = Range("A65000").End(xlUp).Row
If nRiga = 1 Then
nRiga = 0
Else
nRiga = nRiga + 1
End If
nCol = nCol + 1
nv = InStr(nvo + 1, colonna, ";")
If nv = 0 Then
Testo = (nCt - nvo)
GoTo leggiAncora
End If
Testo = Mid(nCol, nvo + 1, (nv - 1) - nvo)
nvo = nv
Cells(nCol, nRiga) = Testo
GoTo scanTesto
leggiAncora:
nRiga = nRiga + 1
If Not EOF(1) Then
Line Input #1, Riga
nvo = 0: nCt = Len(Riga): nCol = 0
scanTesto:
nCol = nCol + 1
nv = InStr(nvo + 1, Riga, ",")
If nv = 0 Then
Testo = Right(Riga$, nCt - nvo)
Cells(nRiga, nCol) = Testo$
GoTo leggiAncora
End If
Testo = Mid(Riga$, nvo + 1, (nv - 1) - nvo)
nvo = nv
Cells(nRiga, nCol) = Testo
GoTo scanTesto
End If
Close #1
End With
End Sub
mentre il foglio txt(questo è un esempio)è cosi:"per,fare,la,banana,split,serve,usare,una,banana;più,molto,gelato,e,cioccolato."