Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Dim NFg As Long Dim Fgl As Long NFg = Range("C" & Rows.Count).End(xlUp).Row NFgl = Target.Value If Target.Address = "$C$" & NFg Then Fgl = Sheets.Count + 1 Sheets.Add after:=ActiveSheet ActiveSheet.Move after:=Sheets(Fgl) ActiveSheet.Name = NFgl End If Application.ScreenUpdating = True End Sub
sto creando una tabella per consegnare dei materiali ed avrei bisogno di creare nuovi fogli di lavoro e rinominarli nel momento in cui, nella tabella principale, aggiungo il nome di un dipendente.
raffaele1953, 15/02/2018 11.38:Ciao, quanti dipendenti ci sono? Comunque sarebbe tramite VBA C'è proprio bisogno di creare il foglio (OK per stamparlo) Dopo Ti ritrovi tanti fogli da gestire Una specie di DataBase non è sufficente?
alfrimpa, 15/02/2018 11.51:Ciao a.moro Sono d'accordo con Raffaele (un saluto). Creare un foglio per ogni dipendente è inutile (e dispendioso). Se ho capito bene forse non è neanche necessario il VBA; basta il database dei dipendenti ed un unico modulo da popolare con con un CERCA.VERT()
a.moro, 15/02/2018 13.22: Alfrimpa... gentilmente potresti spiegarmi come si fa?
GiuseppeMN, 15/02/2018 11.49:Buona giornata, a.moro; consentimi un caro saluto a Raffaele. Fatto ciò credo potresti provare con questo Codice VBA inserito in: - Microsoft Excel Oggetti: - Foglio1 (INSERIMENTO DATI) Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Dim NFg As Long Dim Fgl As Long NFg = Range("C" & Rows.Count).End(xlUp).Row NFgl = Target.Value If Target.Address = "$C$" & NFg Then Fgl = Sheets.Count + 1 Sheets.Add after:=ActiveSheet ActiveSheet.Move after:=Sheets(Fgl) ActiveSheet.Name = NFgl End If Application.ScreenUpdating = True End Sub Inserendo un nuovo Nominativo nel Foglio di lavoro "INSERIMENTO DATI" verrà inserito un nuovo Foglio di lavoro il cui nome sarà il nuovo Nominativo. Considera che modificando un nominativo esistente non avrà alcun effetto sui Fogli di lavoro esistenti; ovviamente non potrai inserire omonimi. A disposizione. Buona serata. Giuseppe
Dim NFgl As String
Option Explicit Public NFgl As String