Giacomo vorrebbe creare una copia del suo foglio di lavoro “Master”, assegnare un nome al nuovo foglio e spostarlo alla fine delle schede dei fogli di lavoro, tutto all’interno di una macro. Ha provato a registrare una macro per fare questo, ma non ha funzionato.
Il fatto che la macro registrata non abbia funzionato non è particolarmente sorprendente. Quando registri una macro, dici a Excel di registrare i passaggi che fai. Quei passaggi (in questo caso) includevano la denominazione del foglio di lavoro, sicché quel nome è stato registrato nella macro. Provando a eseguire la macro una seconda volta, riceverai un errore perché il foglio di lavoro che stai tentando di creare al secondo passaggio è già stato creato al primo.
In questo caso devi scrivere una macro manualmente. Puoi iniziare con la registrazione del processo e otterrai un codice come il seguente:
Sub Macro1()
Sheets("Master").Select
Sheets("Master").Copy After:=Sheets(3)
Sheets("Master (2)").Select
Sheets("Master (2)").Name = "NuovoMaster"
End Sub
Si noti che il codice posiziona il foglio di lavoro (dopo il terzo foglio) e poi lo denomina sempre con la stessa nome. C’è molto da cambiare qui. Quello che ti serve è cambiarlo in qualcosa di simile al seguente:
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.
(puoi renderti conto di quanti siano i contenuti riservati
raggiungendo questa pagina)
Questa macro copierà il foglio di lavoro denominato “Master” alla fine dell’elenco dei fogli (indipendentemente dal numero di fogli presenti nella cartella di lavoro) e richiederà un nuovo nome per il foglio di lavoro finché non viene immesso un nome valido.