PDA

View Full Version : Mi serve una routine in VBA!


AlbioB
01-11-2001, 21:42
Salve a tutti!

Mi occorreva una routine scritta in VBA per Excel che ordini in ordine alfabetico di nome i fogli di una cartella (di Excel, si intende)...

Qualcuno potrebbe gentilmente aiutarmi?

Thanks!

misterx
01-11-2001, 22:09
prova registrando una macro a spostare i fogli; osserva poi il codice generato; metti il tutto in un ciclo FOR.....NEXT ed il gioco è fatto.

a patto che tu conosca come si fa per registrare una macro;)

misterx
05-11-2001, 12:06
Prova questo, dovrebbe funzionare per il tuo scopo, sempre che abbia capito quello che vuoi......

Come vedi, il codice è alquanto semplice.....



Sub Riordina()

Dim a$(1000)
' qui cambia il valore del numero di elementi dell'array in funzione del numero di fogli a tua disposizione

'(1) metto nomi dei fogli nell'array
For n = 1 To Sheets.Count
a$(n) = Sheets(n).Name
Next n

'(2) fase di riordino l'array
For x = 1 To n - 1

For y = x + 1 To n - 1

If a$(x) > a$(y) Then
temp$ = a$(x)
a$(x) = a$(y)
a$(y) = temp$
End If
Next y
Next x

'(3) riordino i fogli
For m = 1 To n - 1
temp$ = a$(m)
Sheets(temp$).Select
Sheets(temp$).Move Before:=Sheets(m)
Next m


End Sub

AlbioB
07-11-2001, 17:29
Grazie MisterX, il codice funziona e io sono contento come una pasqua!

Grazie ancora.

GiF
13-11-2001, 13:18
Ciao MisterX,
ti dispiace se copio il tuo codice per inserirlo, ovviamente col tuo nick in firma, in specialidea.it ?
Grazie

misterx
13-11-2001, 19:53
Originariamente inviato da GiF
[B]Ciao MisterX,
ti dispiace se copio il tuo codice per inserirlo, ovviamente col tuo nick in firma, in specialidea.it ?
Grazie

nessun problema;)