Ancora una volta bloccato su una cosa per me nuova... ho bisogno di fare una macro che mi riordini alcuni fogli a seconda dei mesi in essi contenuti; faccio un esempio:
in un file excel ho in questa sequenza dei fogli con i nomi dei mesi:
marzo 2015 - giugno 2015 - gennaio 2015 - maggio 2015
la macro mi dovrebbe riordinare i fogli nel modo seguente:
gennaio 2015 - marzo 2015 - maggio 2015 - giugno 2015
Tenete presente che nell'esempio compaiono 4 mesi su 12, ma il numero di mesi può variare.
Ho provato con la seguente macro ma se lavoro con meno di 10 mesi mi da errore:
Sub ordina_mesi()
Dim J As Integer
Dim K As Integer
Dim sMo(12) As String
sMo(1) = "gennaio 2015"
sMo(2) = "febbraio 2015"
sMo(3) = "marzo 2015"
sMo(4) = "aprile 2015"
sMo(5) = "maggio 2015"
sMo(6) = "giugno 2015"
sMo(7) = "luglio 2015"
sMo(8) = "agosto 2015"
sMo(9) = "settembre 2015"
sMo(10) = "ottobre 2015"
sMo(11) = "novembre 2015"
sMo(12) = "dicembre 2015"
For J = 1 To 12
If Sheets(J).Name <> sMo(J) Then
For K = J + 1 To Sheets.Count
If Sheets(K).Name = sMo(J) Then
Sheets(K).Move Before:=Sheets(J)
End If
Next K
End If
Next J
Sheets(1).Activate
End Sub
Allego anche il file di prova, dove oltre ai mesi compaiono altri due fogli "foglio13" e "foglio3" che devono rimanere in quella posizione. Di volta in volta cambieranno solo i fogli con i mesi che verranno importati da altri file(per importarli la macro già c'è ed è funzionante, anche se non è presente in questo file esempio)
Grazie.
[Modificato da rossi1975 20/04/2015 23:18]