Prova con questa macro:
- Codice: Seleziona tutto
Sub AMille()
Dim cShN As Long, fStep As Long, iPos As Range
Dim I As Long, stCnt As Long
'
Set iPos = Sheets("IDati").Range("A1") '<<< Inizio dei dati da splittare
fStep = 1000 '<<< Quante righe per ogni foglio
'
cShN = Sheets.Count
Application.Goto iPos
For I = 1 To iPos.Offset(100000, 0).End(xlUp).Row Step fStep
Sheets.Add after:=Sheets(cShN + stCnt)
iPos.Offset(stCnt * fStep).Resize(fStep, 1).Copy Destination:=Sheets(cShN + stCnt + 1).Range("A1")
stCnt = stCnt + 1
Range("C1").Value = Evaluate("TEXTJOIN("", "",TRUE,A1:A" & fStep + 10 & ")")
Next I
Application.CutCopyMode = False
MsgBox ("Completato, " & stCnt & " nuovi fogli")
End Sub
Le due righe marcate <<< vanno personalizzate con le tue informazioni
Quando nel foglio di partenza hai i dati che vuoi splittare, basterà avviare la Sub Amille. A questo punto:
-per ogni blocco di 1000 righe (o quanto impostato in fStep) verrà aggiunto un nuovo foglio
-ogni blocco verrà incollato a partire da A1
-in C1 sarà calcolato il concatenamento dei dati presenti su colonna A
Prova e fai sapere...