Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

modificare l'indice dei fogli

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

modificare l'indice dei fogli

Postdi miko » 26/08/13 11:29

buon giorno,
devo aggiungere e rinominare un centinaio di fogli;
il codice in uso, commentando o scommentando alcune linee, è il seguente:

Codice: Seleziona tutto
sub aggiungi
Dim ws2 As Worksheet
Dim i As Integer
Set ws2 = Worksheets("Foglio2")
RigaIni = 3
RigaFine = ws2.Range("A" & Rows.Count).End(xlUp).Row
indice=4 'linea1 <<<
    For i = RigaIni To RigaFine
       NomeF = ws2.Range("A" & i)
       ws2.Copy After:=Worksheets(Worksheets.Count)  'linea2 <<<
       Sheets.Add After:=Sheets(Sheets.Count) 'linea3 <<<
      ActiveSheet.Name = NomeF
      ActiveSheet.Index = indice 'linea 4 <<<
      indice=indice + 1 'linea5 <<<
   Next i
end sub

il codice funziona, ma con la linea 2 impiega molto tempo;
tenendo conto anche dei tempi di esecuzione delle altre macro che devo inserire nel progetto,
devo prevedere una ridotta velocità di esecuzione;
con la linea 3 si riduce il tempo di esecuzione, ma dovendo eliminare i fogli e successivamente ricrearli,
ho notato che al primo ciclo, gli indici sono in successione ai 3 fogli di default,
ma poi ad ogni successivo ciclo di creazione gli indici dei fogli generati continua ad aumentare;
se quindi dovessi ripetere 100 volte lo stesso ciclo di creazione fogli, mi ritroverei a degli indici del tipo
10000,10001...
ho pensato di introdurre allora,insieme alla linea 3, le linee 1,4 e 5, in modo che ad ogni ciclo l'indice parte da 4,
ma non funziona ricevendo errore alla linea 4.
dalle ricerche sul web pare che sia una operazione non realizzabile oppure non è capitato ad altri un simile
problema visto che non vi è un argomento simile alla mia richiesta.
esiste la possibilità di modificare gli indici, se si come ?
ciao e grazie
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: modificare l'indice dei fogli

Postdi Flash30005 » 26/08/13 13:00

Se devi aggiungere fogli rinominandoli automaticamente puoi utilizzare questo semplice codice
Codice: Seleziona tutto
    For i = RigaIni To RigaFine
       NomeF = ws2.Range("A" & i)
       Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = NomeF
       indice = indice + 1 'linea5 <<<
   Next i


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: modificare l'indice dei fogli

Postdi miko » 29/08/13 17:29

salve,
ho modificato la mia macro inserendo il tuo codice;
tutto funziona perfettamente.
grazie, ciao
windows xp-office 2003
miko
Utente Senior
 
Post: 422
Iscritto il: 29/12/09 10:44


Torna a Applicazioni Office Windows


Topic correlati a "modificare l'indice dei fogli":

macro da modificare
Autore: malalan
Forum: Forum off-topic
Risposte: 4

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti