Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

istruzioni per creare nuovi fogli di lavoro

  • Messaggi
  • OFFLINE
    a.moro
    Post: 1
    Registrato il: 15/02/2018
    Città: SENIGALLIA
    Età: 54
    Utente Junior
    exel 2010
    00 15/02/2018 10:41
    buongiorno a tutti...
    sono nuovo del forum e mi rivolgo a voi per un problemino...
    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.
    come posso fare?
    ho cercato nel forum ed ho provato ad applicare altre soluzioni... ma son sempre incappato in errori di debug...
    allego il file...

    grazie in anticipo!
  • OFFLINE
    raffaele1953
    Post: 3.168
    Registrato il: 28/06/2011
    Città: AGORDO
    Età: 70
    Utente Master
    2013
    00 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?
    Excel 2013
  • OFFLINE
    GiuseppeMN
    Post: 2.683
    Registrato il: 03/04/2013
    Utente Veteran
    Excel 2000 - 2013
    00 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

    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    alfrimpa
    Post: 3.648
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 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()

    Alfredo
  • OFFLINE
    alfrimpa
    Post: 3.649
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 15/02/2018 12:13
    Giuseppe ma il nuovo foglio aggiunto non andrebbe poi popolato di tutte le relative formule?

    Con un CERCA.VERT() non si fa prima?

    Alfredo
  • OFFLINE
    GiuseppeMN
    Post: 2.684
    Registrato il: 03/04/2013
    Utente Veteran
    Excel 2000 - 2013
    00 15/02/2018 12:36
    Alfredo, mi sono limitato a seguire "bovinamente" la richiesta di @a.moro.

    @a.moro, chiede:


    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.



    Pensa che non ho nemmeno tolto le "Celle unite" anche se non ne vedo l'utilità ma "il Cliente ha sempre ragione!"

    Giuseppe

    Windows XP - Excel 2000
    Windows 10 - Excel 2013
  • OFFLINE
    a.moro
    Post: 1
    Registrato il: 15/02/2018
    Città: SENIGALLIA
    Età: 54
    Utente Junior
    exel 2010
    00 15/02/2018 13:19
    Re:
    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?



    ciao Raffaele,
    effettivamente hai ragione...
    basterebbe un solo foglio da stampare...
    potrei mettere al fianco del dipendente un "tastino" che selezionato mi copia i dati relativi a quella riga nel foglio di consegna dei materiali...
    devo però capire come fare.... [SM=x423024]


  • OFFLINE
    a.moro
    Post: 2
    Registrato il: 15/02/2018
    Città: SENIGALLIA
    Età: 54
    Utente Junior
    exel 2010
    00 15/02/2018 13:22
    Re:
    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()




    Alfrimpa... gentilmente potresti spiegarmi come si fa?
  • OFFLINE
    alfrimpa
    Post: 3.650
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 15/02/2018 13:47
    Re: Re:
    a.moro, 15/02/2018 13.22:




    Alfrimpa... gentilmente potresti spiegarmi come si fa?



    Beh per questo non c'è bisogno del forum basta leggere la guida in linea di Excel sul CERCA.VERT() perchè non potrei dire nulla di più di quello che trovi nella guida.


    [Modificato da alfrimpa 15/02/2018 13:49]

    Alfredo
  • OFFLINE
    raffaele1953
    Post: 3.170
    Registrato il: 28/06/2011
    Città: AGORDO
    Età: 70
    Utente Master
    2013
    00 15/02/2018 13:53
    Per prima cosa serve la lista esatta dei prodotti e scrivi anche l'ulteriore descrizione(taglia e misura sono similari ...e Tipo serve?)
    Ex guanti in gomma>>>quantità, taglia e Tipo
    Ex tappi auricolari>>>quantità (forse il Tipo), perchè non esiste la taglia per loro
    Tutti questi dati verrano immessi in DB

    Per finire compila esattamente il VERBALE DI CONSEGNA
    Intendo (Il Sottoscritto datore di lavoro) serve? (dato che A1:A3 ci sono già i dati?)
    Casomai si dovrà mettere "pippo" oppure "ditta fratacchia"? Oppure il Tuo nome che consegni
    Excel 2013
  • OFFLINE
    a.moro
    Post: 3
    Registrato il: 15/02/2018
    Città: SENIGALLIA
    Età: 54
    Utente Junior
    exel 2010
    00 15/02/2018 13:53
    Re:
    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



    Grazie Giuseppe...
    ho inserito il codice da te creato... ma qualcosa non va...
    cosa ho sbagliato?



  • OFFLINE
    GiuseppeMN
    Post: 2.687
    Registrato il: 03/04/2013
    Utente Veteran
    Excel 2000 - 2013
    00 15/02/2018 14:58
    Buon pomeriggio, a.moro;
    hai ragione, manca la definizione della Variabile "NFgl".
    La variabile va definita come:
    Dim NFgl As String 

    dopo le altre due Istruzioni Dim

    Non mi ero accorto del problema perchè avevo definito la Variabile in altro Modulo come:
    Option Explicit
    Public NFgl As String
    


    Mi scuso per il refuso.


    Giuseppe

    Windows XP - Excel 2000
    Windows 10 - Excel 2013