Fogli per giorni (Microsoft Excel)
Quando si avvia una nuova cartella di lavoro, è molto comune denominare ogni foglio di lavoro dopo un diverso giorno del mese. Se lo fai un po ‘, sai che può essere faticoso rinominare ogni foglio di lavoro, individualmente, esattamente come ti serve.
La seguente macro è stata sviluppata per aiutare in queste situazioni. Controlla i nomi dei fogli di lavoro nella tua cartella di lavoro, rinominandoli ai giorni del mese se iniziano con le lettere “Foglio”. Se non ci sono abbastanza fogli nella cartella di lavoro, aggiunge fogli, se necessario, per ogni giorno del mese.
Sub DoDays() Dim J As Integer Dim K As Integer Dim sDay As String Dim sTemp As String Dim iTarget As Integer Dim dBasis As Date iTarget = 13 While (iTarget < 1) Or (iTarget > 12) iTarget = Val(InputBox("Numeric month?")) If iTarget = 0 Then Exit Sub Wend Application.ScreenUpdating = False sTemp = Str(iTarget) & "/1/" & Year(Now()) dBasis = CDate(sTemp) For J = 1 To 31 sDay = Format((dBasis + J - 1), "dddd mm-dd-yyyy") If Month(dBasis + J - 1) = iTarget Then If J <= Sheets.Count Then If Left(Sheets(J).Name, 5) = "Sheet" Then Sheets(J).Name = sDay Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = sDay End If Else Sheets.Add.Move after:=Sheets(Sheets.Count) ActiveSheet.Name = sDay End If End If Next J For J = 1 To (Sheets.Count - 1) For K = J + 1 To Sheets.Count If Right(Sheets(J).Name, 10) > _ Right(Sheets(K).Name, 10) Then Sheets(K).Move Before:=Sheets(J) End If Next K Next J Sheets(1).Activate Application.ScreenUpdating = True End Sub
Tieni presente che la macro presuppone che il mese per il quale desideri i fogli di lavoro sia l’anno corrente. Se non è così, dovrai apportare una piccola modifica. Notare la riga seguente vicino all’inizio della macro:
sTemp = Str(iTarget) & "/1/" & Year(Now())
Supponiamo che tu voglia che il mese sia nel 2015 per qualche motivo. Basta cambiare la riga come segue:
sTemp = Str(iTarget) & "/1/2015"
La macro imposta il nome di ogni scheda uguale al giorno della settimana seguito dalla data effettiva, come in “Mercoledì 28/03/2020”. Se vuoi cambiare il modo in cui le schede sono denominate per ogni giorno, cambia semplicemente il modo in cui la variabile sDay è costruita nella macro.
L’ultimo passaggio nella macro è che posiziona i fogli di lavoro nell’ordine corretto, in base ai giorni del mese. Il risultato è che se nella cartella di lavoro sono rimasti altri fogli di lavoro (in altre parole, alcuni di essi non iniziano con le lettere “Foglio”, quei fogli di lavoro finiscono alla fine della cartella di lavoro, dopo i fogli di ciascuno giorno.
_Nota: _
Se vuoi sapere come usare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è il tuo fonte di formazione economica su Microsoft Excel.
Questo suggerimento (11523) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per i vecchi interfaccia del menu di Excel qui: