PDA

View Full Version : [VBA] Macro per splittare record in Excel


narghat
16-09-2010, 13:58
Ciao ragazzi,
Sto gestendo una gran quantitą di dati e mi tornerebbe tile una Macro per Excel o meglio ancora OpenOffice Calc
che divida il contenuto di una cella (separato da punto e virgola) in pił celle.
Esempio:

__A__________B
1_casa_______house; home
2_Milano______Milan

vorrei che diventasse

__A__________B
1_casa_______house
2_casa_______home
3_Milano______Milan

In pratica la casella B1 che contiene pił informazioni divisi dalla virgola, verrebbe diviso aggiungendo una riga dopo
ed il contenuto della colonna di destra duplicato.
Tante nuove righe per ogni punti e virgola.
se po' fą?

Micky

yorkeiser
17-09-2010, 14:50
Private Sub ChiamalaComeVuoi()
Dim j As Integer
Dim k As Integer
Dim z As Integer
Dim s1 As Worksheet
Dim s2 As Worksheet
Dim first_column As String
Dim second_column As String
Dim arr() As String
Dim NumeroRigheDaProcessare as Integer

Set s1 = ThisWorkbook.Sheets(1)
Set s2 = ThisWorkbook.Sheets(2)

j = 1

For k = 1 To NumeroRigheDaProcessare
first_column = s1.Cells(k, 1)
second_column = Replace(Replace(s1.Cells(k, 2), ",", "|"), ";", "|")
arr = Split(second_column, "|")
For z = j To j + UBound(arr)
s2.Cells(z, 1) = first_column
s2.Cells(z, 2) = arr(z - j)
Next z
j = j + UBound(arr()) + 1
Next k

End Sub