Ridenominare fogli di lavoro in base ad un elenco

Giulio ha un foglio di lavoro (denominato “Controllo”) che contiene, nelle celle A1:A12, un elenco dei nomi che vorrebbe applicare ai fogli di lavoro. Ha bisogno di un modo, in una macro, per rinominare ciascuno degli altri 12 fogli di lavoro in base a quell’intervallo di celle. I nomi dei fogli di lavoro non devono essere dinamici; devono solo essere rinominati quando esegue la macro.

Il nucleo dello sviluppo di una macro per soddisfare questa esigenza è affidarsi alla proprietà Name di ogni foglio di lavoro che si desidera rinominare. Ad esempio, potresti usare una macro molto semplice come questa:

 

Sub RenameSheets()
    Dim c As Range
    Dim J As Integer
    J = 0
    For Each c In Range("A1:A12")
        J = J + 1
        If Sheets(J).Name = "Controllo" Then J = J + 1
        Sheets(J).Name = c.Text
    Next c
End Sub

 

La macro scorre semplicemente l’intervallo di celle A1:A12 e, se il foglio di lavoro successivo non è denominato “Controllo”, rinomina il foglio di lavoro con il valore della cella.

Come puoi notare, questa macro è molto semplicistica e dovrebbe, con ogni probabilità, essere molto più robusta. Ad esempio, cosa si dovrebbe fare se ci sono più (o meno) di 13 fogli di lavoro nella cartella di lavoro corrente? Cosa fare se ci sono celle vuote nell’intervallo A1:A12? Cosa si dovrebbe fare se qualcuno esegue la macro e “Controllo” non è il foglio di lavoro attivo? Cosa si dovrebbe fare se ci sono due valori identici in A1:A12? Cosa succede se ci sono spazi iniziali o finali su uno o più nomi nell’intervallo A1:A12? Queste e (molto probabilmente) tutta una serie di altre domande possono influenzare l’aspetto finale della macro. Ecco una versione commentata della macro che tiene conto di molte delle possibilità appena menzionate:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

 

Hai notato quanto sia più lunga la seconda versione della macro rispetto alla prima? Ogni volta che inizi ad aggiungere controlli in una macro, può davvero diventare molto più lunga. Il vantaggio nell’aggiungere i controlli, ovviamente, è che la tua macro ha meno probabilità di incorrere in problemi poiché verrà utilizzata da persone diverse da te.

 

 

Tags: , , , , , , , ,

Ti è stato utile?