You are here:Home-Domande su Excel VBA e MACRO-[RISOLTO] Visualizzare i dati di una tabella di un'altra cartella di lavoro
[RISOLTO] Visualizzare i dati di una tabella di un'altra cartella di lavoro2019-10-19T14:51:58+02:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] Visualizzare i dati di una tabella di un'altra cartella di lavoro

Visualizzazione 10 filoni di risposte
  • Autore
    Post
    • AvatarKris_9951
      Partecipante
        Post totali: 169

        Buongiorno a tutti!

        Ho un problema abbastanza difficile da risolvere.

        Avrei bisogno che una ListBox visualizzi i dati di una tabella appartenente ad un’altra cartella di lavoro.

        Spiego il tutto per bene.

        Supponiamo che io sto lavorando su un file che si chiama Test1.xslm; la colonna A del Foglio1 contiene alcuni codici.

        – io seleziono (ad esempio) la cella A6 e successivamente premo il bottone che si trova lì vicino.

        – quel bottone apre una UserForm che all’interno contiene una ListBox

        – io vorrei che quella ListBox visualizzasse i dati contenuti in un’altra tabella di un’altra cartella di lavoro (la quale, se può essere utile ai fini della realizzazione, posso anche avere aperta e ridotta ad icona).

        La cartella in questione si chiama “GestioneMagazzino”, il foglio di lavoro interessato si chiama “DataBase” e la tabella si chiama “Tab_Magazzino”

        – vorrei che la ListBox visualizzasse i dati di quella tabella ma SOLO relativi al codice selezionato nella cella attiva prima di aprire la UserForm e nello specifico le colonne comprese tra la “C” e la “J” (8 colonne in totale)

         

        Sarebbe possibile?

        Lascio una cartella contenente entrambi i file in questione.

         

        Grazie a tutti per l’aiuto!

        https://www.dropbox.com/sh/9vx9r2qr6o8af4a/AADui2I8rHHFA8iilA03RTXva?dl=0

        • Questo topic è stato modificato 11 mesi fa da sidsid.
      • BySalvBySalv
        Amministratore del forum
          Post totali: 771

          Ciao Kriss, ma deve visualizzare solo quelli disponibili? o tutti quelli dello stesso codice?

          Ciao By Sal (8-D

          Ciao By Sal (8-)
          se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

        • AvatarKris_9951
          Partecipante
            Post totali: 169

            <p style=”text-align: left;”>Ciao BySalv!!</p>
            Beh… visto che ho il privilegio di scegliere direi tutto ad eccezione dei “PRELEVATI” 👍

             

            Grazie per l’aiuto! 👍

          • BySalvBySalv
            Amministratore del forum
              Post totali: 771

              Ciao Eccoti il file, ho eliminato il tuo listbox, ne ho messo uno direttamente sul foglio, ho eliminato anche il pulsante per aprirlo

              ora basta fare DoppioClick sul codice che ti interessa e compare il listbox con i dati, poi scegli quale riportare sul foglio e fai DoppioClick sul Listbox.

              attenzione, non fa lo scarico del magazzino.

              attenzione che il file Magazzino e test1 devono stare nella stessa cartella.

              ecco il file
              http://www.filedropper.com/test1_4

              Ciao By Sal (8-D

              Ciao By Sal (8-)
              se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

            • AvatarKris_9951
              Partecipante
                Post totali: 169

                Ciao BySalv!

                Ho provato e funziona benissimo :-)

                Purtroppo però ho bisogno della userform perchè il doppio click sulla cella del vero file apre già una UserForm la quale contiene diversi pulsanti che svolgono diverse azioni sulla cella attiva ed io vorrei integrare la UserForm in questione con il pulsante “Verifica Disponibilità” (molte delle quali sono opera tua e di Sid)

                Ho provato ad adattare il codice alla mia esigenza ma ovviamente non ci sono riuscito :wacko:

                Mi aiuteresti? :whistle:

                P.s. Ho visto che nel codice fai riferimento a Foglio1 ma visto che ci sono diversi fogli in questione credo conviene fare riferimento ad ActiveSheet per quanto riguarda il foglio ed ActiveCell per quanto riguarda la cella da usare come riferimento per la ricerca dati sull’altra tabella

                Grazie ancora per tutto!! :bye:

              • BySalvBySalv
                Amministratore del forum
                  Post totali: 771

                  Ciao Kriss, ecco il file, ho avuto da fare, premi il pulsante e si apre il listbox, scegli il codice ed avrai i risultati, ti ho messo anche una selezione per il filtro.

                  però non sarà possibile scrivere i dati sul foglio selezionando i dati nel listbox, questo perche, dove dovrebbe scriverli?

                  nel tuo file Test1 come vedi ci sono 2 codici “AAA” e “BBB”, su quale di questi devono andare i dati.

                  con il doppioclick riportavo in memoria la riga selezionata e di conseguenza sapevo dove dovevano andare i dati, ma con il pulsante non so quale sia la riga per inserire i dati, ecco perche avevo scelto tale sistema.

                  il link al file
                  http://www.filedropper.com/test1_7

                  Ciao By Sal (8-D

                  Ciao By Sal (8-)
                  se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

                • AvatarKris_9951
                  Partecipante
                    Post totali: 169

                    Ciao BySalv,

                    grazie per l’aiuto :-)

                    Direi che ci siamo quasi. Purtroppo non riesco a modificare quelle piccole sfaccettature che renderebberro il tutto funzionale per le mie esigenze.

                    Riassumo ciò che mi servirebbe e che non sono riuscito a modificare:

                    – Le ComboBox nella UserForm non servono perchè nel momento in cui la UserForm si apre, la ListBox deve visualizzare i dati relativi al contenuto della cella attiva del foglio attivo in quel momento; quindi supponiamo che la cella attiva prima di aprire la UserForm è la cella A9 ed il foglio attivo è il Foglio1, nel momento in cui si apre la userform la ListBox deve visualizzare i dati presi dalla cartella GestioneMagazzino in riferimento al valore contenuto in A9 del foglio attivo in quel momento.

                    Anche la ComboBox2 non serve perchè il criterio di ricerca è visualizzare tutto ad eccezione di “PRELEVATO”.

                     

                    I dati riportati dalla ListBox non vanno scritti da nessuna parte in quanto quella UserForm serve solo per visualizzare una disponibilità in magazzino in modo da evitare di “zompettare” tra una cartella e l’altra.

                     

                    Grazie mille per il supporto! :-)

                  • BySalvBySalv
                    Amministratore del forum
                      Post totali: 771

                      Ciao Kriss ecco la modifica

                      http://www.filedropper.com/test1_8

                      Ciao By Sal (8-D

                      Ciao By Sal (8-)
                      se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

                    • AvatarKris_9951
                      Partecipante
                        Post totali: 169

                        Ottimo!

                        Funziona alla grande :-)

                        Dovrei mettere una If che faccia comparire una MsgBox nel caso il file GestioneMagazzino non sia presente nella cartella del file TEST per evitare la finestra di Debug.

                        Cosa e dove potrei scriverla? :whistle: :whistle: :-)

                        Grazie per l’aiuto :-)

                      • BySalvBySalv
                        Amministratore del forum
                          Post totali: 771

                          Ciao ecco la modifica da fare nel modulo della userform

                          Private Sub UserForm_Activate()
                          Dim r, c, x, n, sh, wb, fg, sPath, Ind, rng, sh1 As Worksheet
                          
                          If dd = "" Or Cc <> 1 Then
                              MsgBox "Attenzione! non si è selezionato un codice della colonna ""A""", vbCritical
                              FRM_DisponibilitaMagazzino.Hide
                              Exit Sub
                          End If
                          sPath = ActiveWorkbook.Path & "\"
                          wb = "GestioneMagazzino.xlsx"
                          fg = "Database"
                          ListBox1.Clear
                          Application.ScreenUpdating = False
                          Ind = sPath & wb
                          If Dir(Ind) = "" Then '---------------righe aggiunte
                              MsgBox "File o Cartella non trovata", vbCritical, "Controllo dati"
                              FRM_DisponibilitaMagazzino.Hide
                              Exit Sub
                          End If '---------------------------------------
                          Workbooks.Open Filename:=Ind
                          ActiveWorkbook.Worksheets(fg).Select
                          n = 0
                          For x = 6 To Cells(Rows.Count, 4).End(xlUp).Row
                              If Cells(x, 4) = dd And Cells(x, 10) <> "PRELEVATO" Then
                                  With ListBox1
                                      .AddItem
                                      .List(n, 0) = Cells(x, 4)
                                      .List(n, 1) = Cells(x, 5)
                                      .List(n, 2) = Cells(x, 6)
                                      .List(n, 3) = Cells(x, 7)
                                      .List(n, 4) = Cells(x, 8)
                                      .List(n, 5) = Cells(x, 9)
                                      .List(n, 6) = Cells(x, 10)
                                      n = n + 1
                                  End With
                              End If
                          Next x
                          ActiveWorkbook.Close
                          End Sub

                          devi aggiungere solo le righe aggiunte.

                          Ciao By Sal (8-D

                          Ciao By Sal (8-)
                          se ti piace la soluzione aiuta a sostenere il Forum con una DONAZIONE a piacere, Grazie

                        • AvatarKris_9951
                          Partecipante
                            Post totali: 169

                            Ciao BySalv!

                            Grazie mille per l’aiuto.

                            Problema risolto 😊 :good:

                        Visualizzazione 10 filoni di risposte
                        • Devi essere connesso per rispondere a questo topic.