Risultati da 1 a 14 di 14

Discussione: Creare elenco con Excel con VBA



  1. #1
    L'avatar di emix1983
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Italia
    Età
    34
    Messaggi
    14
    Versione Office
    2007
    Likes ricevuti
    0
    Likes dati
    0

    Creare elenco con Excel con VBA

    Salve a tutti,
    avrei un quesito da sottoporvi. Vorrei sapere se è possibile utilizzare VBA con excel per creare un elenco di valori in base ad un parametro, prendendo questi valori da un elenco excel. Mi spiego meglio. Ho una serie di fogli excel con dei valori divisi per colonne, colonna codice fornitore, colonna descrizione servizio e colonna importo, l'elenco è formato da varie righe consecutive con i servizi relativi ai vari fornitori. E' possibile in un ultimo foglio excel fare in modo che inserendo in una cella un codice fornitore mi si crei in automatico un elenco di tutti i servizi relativi a quel fornitore richiamandoli dai vari fogli? Per elenco intendo una serie di righe relative a quel solo fornitore presenti in ogni foglio.
    Grazie mille per la disponibilità
    Saluti
    Invia MPPM 

  2. #2
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Creare elenco con Excel con VBA

    Ciao Emix benvenuto, tuttavi ti consiglio di leggere tutto il regolamento perchè hai messo un Avatr non autorizzato adesso lo sostituito io con un avatar d'ufficio


    Regola nr.11 “Immagini profilo e avatar”
    In questo forum è obbligatorio inserire una immagine Avatar, altrimenti lo staff provvederà alla rimozione dell'account al prossimo aggiornamento.
    L'ideale sarebbe il proprio volto cosi come accade nei social più famosi, ma va bene anche una qualsiasi altra immagine, è semplicissimo basta andare in "Impostazioni"(in alto a destra) e poi a sinistra "Modifica Avatar".
    Non utilizzare immagini inappropriate su questo forum cioè quelle che approvano la pornografia, la pirateria, la violenza, la Politica, la Religione e che comunque potrebbero ledere qualsiasi individuo di questo forum,
    Inoltre non è consentito inserire immagine che pubblicizzano la propria attività/sito senza previa autorizzazione da un Admin/SuperMod/Mod e quindi con la conseguenza rimozione delle immagini, avvertimenti ed infine nei casi più gravi la rimozione dal forum.
    Invia MPPM 

  3. #3
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da emix1983 Visualizza Messaggio
    Salve a tutti,
    avrei un quesito da sottoporvi. Vorrei sapere se è possibile utilizzare VBA con excel per creare un elenco di valori in base ad un parametro, prendendo questi valori da un elenco excel. Mi spiego meglio. Ho una serie di fogli excel con dei valori divisi per colonne, colonna codice fornitore, colonna descrizione servizio e colonna importo, l'elenco è formato da varie righe consecutive con i servizi relativi ai vari fornitori. E' possibile in un ultimo foglio excel fare in modo che inserendo in una cella un codice fornitore mi si crei in automatico un elenco di tutti i servizi relativi a quel fornitore richiamandoli dai vari fogli? Per elenco intendo una serie di righe relative a quel solo fornitore presenti in ogni foglio.
    Grazie mille per la disponibilità
    Saluti
    Sarebbe meglio se alleghi un foglio con un po' di dati scrivendo anche ciò che vuoi ottenere.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  4. #4
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Creare elenco con Excel con VBA

    è possibile, ma allega un file di esempio con i dati ed il risultato desiderato
    Invia MPPM 

  5. #5
    L'avatar di emix1983
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Italia
    Età
    34
    Messaggi
    14
    Versione Office
    2007
    Likes ricevuti
    0
    Likes dati
    0

    Re: Creare elenco con Excel con VBA

    Ciao, mi scuso per l'avatar non avevo ben capito.
    Ad ogni modo allego un file con i dati di esempio. I foglio corrispondono ai giorni della settimana (o mese nel mio caso) e poi ci sono le colonne che dicevo nel precedente messaggio. Nell'ultimo foglio denominato "resoconti" vorrei che inserendo il codice fornitore nella cella B1 mi si elenchino tutti i servizi relativi a quel fornitore inserendo nella prima colonna la data ricavandola da numero foglio + mese che potremmo inserire come parametro in un'altra cella.
    E' possibile fare ciò?
    Grazie mille
    saluti
    File Allegati File Allegati
    Invia MPPM 

  6. #6
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da emix1983 Visualizza Messaggio
    Ciao, mi scuso per l'avatar non avevo ben capito.
    Ad ogni modo allego un file con i dati di esempio. I foglio corrispondono ai giorni della settimana (o mese nel mio caso) e poi ci sono le colonne che dicevo nel precedente messaggio. Nell'ultimo foglio denominato "resoconti" vorrei che inserendo il codice fornitore nella cella B1 mi si elenchino tutti i servizi relativi a quel fornitore inserendo nella prima colonna la data ricavandola da numero foglio + mese che potremmo inserire come parametro in un'altra cella.
    E' possibile fare ciò?
    Grazie mille
    saluti
    ciao emix guarda se ti va bene e fammi sapere

    ciao.

    Codice: 
    Sub raggruppa()
    
    Dim i As Integer
    Dim a As Integer
    Dim uriga As Long
    Dim uriga1 As Long
    Dim wks As Worksheet
    Dim numfogli As Integer
    
    
    numfogli = Sheets.Count - 2
    a = 1
    Set wks = ThisWorkbook.Worksheets("Resoconto")
    uriga = Sheets(a).Range("A" & Rows.Count).End(xlUp).Row
    uriga1 = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
    wks.Range("A4" & ":E" & uriga1).Delete
    uriga1 = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    
    For a = 1 To (Sheets.Count - 2)
        uriga = Sheets(a).Range("A" & Rows.Count).End(xlUp).Row
        For i = 4 To uriga + 1
            If Sheets(a).Range("A" & i) = wks.Range("B1") Then
               Sheets(a).Range("A" & i & ":E" & i).Copy
               wks.Range("A" & uriga1).PasteSpecial
               uriga1 = uriga1 + 1
            End If
        Next
    Next
    
    
    Set wks = Nothing
    
    
    End Sub
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  7. I seguenti 2 utenti hanno dato un "Like" a Baloon_50 per questo post:


  8. #7
    L'avatar di emix1983
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Italia
    Età
    34
    Messaggi
    14
    Versione Office
    2007
    Likes ricevuti
    0
    Likes dati
    0

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    ciao emix guarda se ti va bene e fammi sapere

    ciao.

    Codice: 
    Sub raggruppa()
    
    Dim i As Integer
    Dim a As Integer
    Dim uriga As Long
    Dim uriga1 As Long
    Dim wks As Worksheet
    Dim numfogli As Integer
    
    
    numfogli = Sheets.Count - 2
    a = 1
    Set wks = ThisWorkbook.Worksheets("Resoconto")
    uriga = Sheets(a).Range("A" & Rows.Count).End(xlUp).Row
    uriga1 = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
    wks.Range("A4" & ":E" & uriga1).Delete
    uriga1 = wks.Range("A" & Rows.Count).End(xlUp).Row + 1
    
    
    For a = 1 To (Sheets.Count - 2)
        uriga = Sheets(a).Range("A" & Rows.Count).End(xlUp).Row
        For i = 4 To uriga + 1
            If Sheets(a).Range("A" & i) = wks.Range("B1") Then
               Sheets(a).Range("A" & i & ":E" & i).Copy
               wks.Range("A" & uriga1).PasteSpecial
               uriga1 = uriga1 + 1
            End If
        Next
    Next
    
    
    Set wks = Nothing
    
    
    End Sub
    Ciao e grazie mille per l'aiuto, tuttavia per quanto riguarda la data non si può fare nulla? Mi servirebbe che nella prima colonna venga inserita la data del servizio formandola col nome del foglio (da 01 a 31 quindi 31 fogli) più il mese (mettendo il mese in una cella del primo foglio)
    Si potrebbe implementare questa funzione?
    Grazie
    Invia MPPM 

  9. #8
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da emix1983 Visualizza Messaggio
    Ciao e grazie mille per l'aiuto, tuttavia per quanto riguarda la data non si può fare nulla? Mi servirebbe che nella prima colonna venga inserita la data del servizio formandola col nome del foglio (da 01 a 31 quindi 31 fogli) più il mese (mettendo il mese in una cella del primo foglio)
    Si potrebbe implementare questa funzione?
    Grazie
    non ho capito bene la richiesta prova a vedere se è così
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  10. #9
    L'avatar di emix1983
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Italia
    Età
    34
    Messaggi
    14
    Versione Office
    2007
    Likes ricevuti
    0
    Likes dati
    0

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    non ho capito bene la richiesta prova a vedere se è così
    In effetti forse non mi sono spiegato molto bene. Adesso spiego meglio.
    In pratica, ammettendo che nel file ho 31 fogli nominati da 01 a 31 corrispondenti ai giorni del mese vorrei che nel resoconto nella prima colonna ci fosse la data del servizio. Ovviamente siccome il nome foglio rappresenta solo il giorno del mese dovrei fare in modo che mettendo il mese in una cella e l'anno in un' altra (magari del foglio resoconto come una sorta di impostazione) , la data nel resoconto venga formata per ogni servizio da nome_foglio+mese+anno
    Spero di essere stato più chiaro
    Grazie mille
    Saluti
    Invia MPPM 

  11. #10
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da emix1983 Visualizza Messaggio
    In effetti forse non mi sono spiegato molto bene. Adesso spiego meglio.
    In pratica, ammettendo che nel file ho 31 fogli nominati da 01 a 31 corrispondenti ai giorni del mese vorrei che nel resoconto nella prima colonna ci fosse la data del servizio. Ovviamente siccome il nome foglio rappresenta solo il giorno del mese dovrei fare in modo che mettendo il mese in una cella e l'anno in un' altra (magari del foglio resoconto come una sorta di impostazione) , la data nel resoconto venga formata per ogni servizio da nome_foglio+mese+anno
    Spero di essere stato più chiaro
    Grazie mille
    Saluti
    ma allora c'è da aggiungere 1 colonna per la data?

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  12. #11
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    ok se ho capito bene questo dovrebbe essere il definitivo

    fammi sapere - ciao.
    File Allegati File Allegati

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  13. #12
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11

    Re: Creare elenco con Excel con VBA

    Ho fatto anch'io la mia elaborazione.
    Praticamente fa la stessa cosa del file di Baloon_50 (ciao) con qualche differenza.
    Per esempio la lista dei codici fornitori la costruisco in modo dinamico senza un Range predefinito...

    ecco il codice...
    Codice: 
    Private Sub UserForm_Activate()    Dim sh As Worksheet
        Dim Lr As Long
        Dim cell As Range
        Dim cll_Cod As New Collection
        Dim i As Long
        Dim Nm As Byte
        
        'provvedo a popolare la listbox con l'elenco di tutti i codici Fornitori presenti nei vari fogli
        On Error Resume Next
            For Each sh In Worksheets
                If IsNumeric(sh.Name) Then
                
                    Lr = sh.Range("A" & Rows.Count).End(xlUp).Row
                    If Lr > 3 Then
                        For Each cell In sh.Range("A4:A" & Lr)
                            cll_Cod.Add cell.Value, Key:=CStr(cell.Value)
                        Next
                    End If
                    
                End If
            Next
        On Error GoTo 0
    
    
        With Me
            For i = 1 To cll_Cod.Count
                .ListBox1.AddItem cll_Cod(i)
            Next
            
            .ListBox1.ListIndex = 0
        End With
    
    
        Set cll_Cod = Nothing
        Set cell = Nothing
        Set sh = Nothing
    
    
    ' Riempio la combo1 e combo2
        With Me
            For Nm = 1 To 12
                    .ComboBox1.AddItem MonthName(Nm, True)
            Next
                
                .ComboBox1.ListIndex = Month(Date) - 1
                
                .ComboBox2.AddItem Year(Date) - 1
                .ComboBox2.AddItem Year(Date)
                .ComboBox2.AddItem Year(Date) + 1
                .ComboBox2.ListIndex = 1
        End With
        
    End Sub
    Codice: 
    Private Sub CommandButton1_Click()Dim codF As String
    Dim sh As Worksheet
    Dim Nr As Long
    Dim sh_Resoconto As Worksheet
    Dim my_Date As Date
    Dim nCod As Long
    Dim my_Period As String
    Dim Rng_Cods As Range
    
    
        codF = UserForm1.ListBox1.Value
        my_Period = UserForm1.ComboBox1 & "/" & UserForm1.ComboBox2
        Set sh_Resoconto = Worksheets("Resoconto")
        
        Application.ScreenUpdating = False
        
        ' Elimino i dati pregressi
        sh_Resoconto.Range("A3").CurrentRegion.Offset(1).Clear
        
        On Error Resume Next
            For Each sh In Worksheets
                If IsNumeric(sh.Name) Then
                    Nr = sh.Range("A3").CurrentRegion.Rows.Count - 1
                    sh.Range("A3").AutoFilter field:=1, Criteria1:=codF
                    Set Rng_Cods = sh.Range("A3").CurrentRegion.Offset(1).Resize(Nr).SpecialCells(xlCellTypeVisible)
                        If Not Rng_Cods Is Nothing Then
                                Rng_Cods.Copy
                                sh_Resoconto.Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteAll
                            nCod = sh_Resoconto.Range("B" & Rows.Count).End(xlUp).Row - sh_Resoconto.Range("A" & Rows.Count).End(xlUp).Row
                            my_Date = sh.Name & "/" & my_Period
                            sh_Resoconto.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(nCod).Value = my_Date
                            Set Rng_Cods = Nothing
                        End If
                        
                        sh.AutoFilterMode = False
                        
                End If
            Next
        On Error GoTo 0
        
        Range("cod_F").Select
        With Application
            .CutCopyMode = False
            .ScreenUpdating = True
        End With
        
        Unload Me
        
        MsgBox "Elaborazione completata!"
        
    Set sh = Nothing
    Set sh_Resoconto = Nothing
    
    
    End Sub
    File Allegati File Allegati
    Ultima modifica fatta da:Textomb; 24/08/16 alle 21:03 Motivo: mancava il codice VBA
    Invia MPPM 

  14. #13
    L'avatar di Baloon_50
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Milano - Italy
    Età
    67
    Messaggi
    3347
    Versione Office
    2013 PC
    Likes ricevuti
    483
    Likes dati
    49

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da Textomb Visualizza Messaggio
    Ho fatto anch'io la mia elaborazione.
    Praticamente fa la stessa cosa del file di Baloon_50 (ciao) con qualche differenza.
    Per esempio la lista dei codici fornitori la costruisco in modo dinamico senza un Range predefinito...
    ciao Textomb piccolo inconveniente eheheheh non hai inizializzato il tasto annulla ciao ciao.

    A volte basta usare parole inutili come “grazie” e “per favore” per rendere la vita più bella.
    (ELKonigsburg)
    Dice il saggio : "se vuoi essere aiutato devi metter l'allegato"
    (Nick Carter - Ten)
    Invia MPPM 

  15. #14
    L'avatar di emix1983
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Italia
    Età
    34
    Messaggi
    14
    Versione Office
    2007
    Likes ricevuti
    0
    Likes dati
    0

    Re: Creare elenco con Excel con VBA

    Citazione Originariamente Scritto da Baloon_50 Visualizza Messaggio
    ok se ho capito bene questo dovrebbe essere il definitivo

    fammi sapere - ciao.
    Ciao, si tratta proprio di quello di cui avevo bisogno, grazie mille. Ora però avrei bisogno di un altro piccolo aiuto, sarebbe possibile implementarlo nel file in allegato che poi sarebbe il file per il quale mi serve di realizzare questi resoconti.
    Ho provato ad implementare la funzione senza successo, sebbene modifico i parametri non riesco a fagli selezionare i giusti fogli, ci deve essere qualcosa che sbaglio. Il foglio in cui voglio inserire la funzione è l'ultimo, Elenco_Preno
    Il range di celle da riportare nel resoconto è da A a T , ci sono problemi a copiare il valore dei checkboxes contenuti nelle colonne M,N,O,P ?
    Grazie per l'aiuto
    Invia MPPM 

Discussioni Simili

  1. [Risolto] Creare elenco di strade con autocompletamento
    Di angar2002 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 13/03/17, 16:55
  2. [Risolto] creare elenco da scheda
    Di lucaCA nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 03/11/16, 12:52
  3. Creare elenco
    Di Il Pirata nel forum Domande su Excel in generale
    Risposte: 16
    Ultimo Messaggio: 23/08/16, 11:12
  4. Creare elenco attivita'
    Di davidemonti nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 12/08/16, 17:07
  5. Creare elenco in automatico
    Di fberlinetta nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 13/05/16, 18:20

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •