20 25/04/2021 10:18
@BG
Se ho capito devi duplicare il foglio "master" assegnandogli come nome anno-progressivo a tre cifre, qualora un foglio non esistesse già il nome sarà 21-001, altrimenti 21-002 , 3 , etc etc

1) suggerisco di spostare tutti i fogli aggiunti alla fine, quindi dopo storico 2020, in modo da averli in progressione

2) NB: se hai per esempio i fogli 21-001 e 21-003 (perchè 21-002 lo hai eliminato), il foglio creato sarà 21-004

3) infine suggerisco di lasciare il pulsante che genera il nuovo foglio SOLO sul foglio master (almeno io la penso così)

4) ho lasciato solo il pulsante legato alla mia routine che trovi nel modulo Domenico

5) a tale pulsante ho assegnato nome "NewS" per poterlo eliminare dal foglio creato

saluti

Sub InsFoglio()
Dim CurYear As String, mMaster As Worksheet, j As Integer, arrNumb(), mSheet As String
Set mMaster = Worksheets("master")
CurYear = "21" ' <<< eventualmente prendi valore da cella di Master (?)
k = 0
' cerco eventuale ultimo foglio
For j = 1 To Sheets.Count
    If Left(Sheets(j).Name, 2) = CurYear Then
        ReDim Preserve arrNumb(k)
        mpos = 4
        arrNumb(k) = Mid(Sheets(j).Name, mpos, Len(Sheets(j).Name)) * 1
        k = k + 1
    End If
Next j
' se già non esiste creo 001, altrimenti incremento
If k > 0 Then
    mMax = WorksheetFunction.Max(arrNumb) + 1
Else
    mMax = 1
End If
mSheet = CurYear & "-" & Format(mMax, "000")
mMaster.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = mSheet
'cancello pulsante comando nel foglio creato
ActiveSheet.Shapes("NewS").Delete
End Sub




[Modificato da dodo47 25/04/2021 10:22]
Domenico
Win 10 - Excel 2016