Il mio problema è questo.
Ho una lunga serie di dati costituiti da 3 colonne e da un numero variabile di righe.
Al termine di una serie, vi è una riga vuota. A seguito, comincia un'altra serie.
es.
20 23 103
98 23 92
22 11 118
15 15 22
11 33 33
55 55 55
98 22 22
43 44 23
33 33 44
E così via (in realtà il numero delle righe di ogni gruppo è molto lungo).
Ora, mi sarebbe utile copiare ogni gruppo l'uno a fianco dell'altro.
La "copiatura" di ogni gruppo dovrebbe terminare quando viene raggiunta la linea bianca, in questo modo:
20 23 103 15 15 22 43 44 23
98 23 92 11 33 33 33 33 44
22 11 118 55 55 55
98 22 22
Mi ha già aiutato Anthony47 con la seguente macro per excel
- Codice: Seleziona tutto
Sub mergeline()
Dim OutSh As Worksheet, DataSh As Worksheet
Dim I As Long, IBlkC As Long, BlkLen As Long
'
Set OutSh = ThisWorkbook.Sheets("Merge") '<< Il foglio dove si costruisce l' output
Set DataSh = ThisWorkbook.Sheets("Foglio1") '<< Il foglio con i dati di partenza
datacell = "A2" '<< La cella da cui partono i dati
'
OutSh.Cells.ClearContents
For I = 1 To DataSh.Cells(Rows.Count, Range(datacell).Column).End(xlUp).Row
If DataSh.Range(datacell).Offset(I - 1, 0) = "" Then
IBlkC = 0
Else
DataSh.Range(datacell).Offset(I - 1, 0).Resize(1, Application. _
WorksheetFunction.CountA(DataSh.Range(datacell).Offset(I - 1, 0).EntireRow)).Copy _
Destination:=OutSh.Range(datacell).Offset(IBlkC, Application.WorksheetFunction. _
CountA(OutSh.Range(datacell).Offset(IBlkC, 0).Resize(1, Columns.Count - 5)))
IBlkC = IBlkC + 1
End If
Next I
End Sub
I miei tentativi non hanno avuto successo...
Chiedo quindi aiuto a voi.
Grazie,
Ale