Pietro Scanzi
unread,Jul 20, 2021, 12:56:05 PM7/20/21You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Vorrei, se possibile, automatizzare il codice sotto.
In pratica, in un file con pagine suddivise per anno (2020, 2019 etc),
dalla riga 2 alla riga tot, che è variabile e dalla colonna 1 alla
colonna 10 poi dalla colonna 12 alla 21 ho delle numerazioni non
progressive che ordino come da file sotto.
Vorrei poter, per ogni foglio, tramite un box, poter inserire i valori
dell'intervallo, e il foglio dove eseguire l'ordinamento.
Andando indietro con gli anni , ci sono fogli che riportano più anni,
questo il motivo di voler scegliere l'intervallo di volta in volta.
Del codice di sotto, in pratica, vorrei automatizzare la scelta del
foglio 2018 e del range A2 J35.
Anche un file che fa qualcosa del genere sarebbe gradito (da prendere
come esempio)
Grazie
Dim cella(10000)
Dim newc(10000)
n = 0
For riga = 2 To 35
For colonna = 1 To 10
cella(n) = Cells(riga, colonna)
n = n + 1
Next
Next
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "appoggio"
For n = 0 To 10000
Cells(n + 1, 1) = cella(n)
Next
Columns("A:A").Select
ActiveWorkbook.Worksheets("appoggio").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("appoggio").Sort.SortFields.Add
Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("appoggio").Sort
.SetRange Range("A1:A10000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
xr = 1
Do Until xr = 500
newc(xr - 1) = Cells(xr, 1)
xr = xr + 1
Loop
xr = 2
xc = 12
Sheets("2018").Select
Range("A2:J35").Select
Selection.ClearContents
Range("A2").Select
Z = 0
For xr = 2 To 35
For xc = 1 To 10
Cells(xr, xc) = newc(Z)
Z = Z + 1
Next xc
Next xr
Sheets("appoggio").Delete
Sheets("2018").Select
End Sub