You are here:Home-Domande su Excel VBA e MACRO-[RISOLTO] ListBox con più di 10 colonne
[RISOLTO] ListBox con più di 10 colonne2019-10-19T14:53:09+02:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] ListBox con più di 10 colonne

Visualizzazione 6 filoni di risposte
  • Autore
    Post
    • AvatarKris_9951
      Partecipante
        Post totali: 157

        Salve a tutti!

        Sulla scia di un precedente post risolto alla grande grazie a BySalv sono qui con un altro problema.

        Esattamente come nel post precendente:

        Visualizzare i dati di una tabella di un'altra cartella di lavoro

        Contenuto non disponibile
        Consenti i cookie cliccando su "Accetta" nel banner"

        io seleziono un codice e poi premo il pulsante che fa aprire la maschera la quale ha una ListBox che “pesca” i dati dalla tabella di un altro file (che risiede nella stessa cartella).

        Il problema è che a differenza del Post precedente adesso avrei bisogno di una ListBox con 23 colonne perchè tante ne servono per compilare tutto ma purtroppo il limite è 10.

         

        Come posso risolvere?

        Grazie a tutti per l’aiuto :-)

        Qui il link per accedere ai file:

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

        • Questo topic è stato modificato 7 mesi, 2 settimane fa da sidsid.
      • BySalvBySalv
        Amministratore del forum
          Post totali: 693

          Ciao Kriss, si effettivamente il limite è 10 colonne, ma non necessariamente, si può ovviare al problema.

          veramente nel tuo caso i problemi sono 2, ti servono i dati filtrati, cioè per codice, e non è facile avere i dati per la listbox filtrati in quanto quanto arriva a 10 colonne si blocca, come già te ne sarai accorto.

          a questo punto ho dovuto usare un foglio di “Appoggio” che ho chiamato “Appo” ma non l’ho reso visibile, quindi e come non esistesse.

          la prima cosa apro il file e mi copio tutti i dati che hanno lo stesso codice sul foglio “Appo” e poi visualizzo il listbox con tutte le colonne che servono.

          come vedrai trovi tutte le colonne che ti interessano.

          ho rinominato l’userform in “UserForm2″non mi trovo a lavorare con il cambio dei nomi agli oggetti

          ecco il file.
          http://www.filedropper.com/test1-d-1

          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: 157

            Grazie mille BySalv!

            Funziona molto bene :-)

            Ora una domanda stupida :-(

            Come posso regolare la larghezza delle colonne?

            Le prime 3 sono strette e tutte le altre sono troppo larghe.

            La proprietà “ColumnWidth” della ListBox è vuota…

             

            Grazie ancora per l’aiuto :-) :good:

          • BySalvBySalv
            Amministratore del forum
              Post totali: 693

              Ciao Kriss, dovrò farmi pagare la consulenza, basta che la inserisci, ma non nelle proprietà del listbox, non la prende devi inserirla tramite codice.

              ecco la modifica da fare

              ListBox1.ColumnCount = c
              ListBox1.ColumnWidths = "60;80;50;40;40;40;40;40;40;40;40;40;40;40;40;40;40;40;40;40;40;40"
              ListBox1.List = sh2.Range(sh2.Cells(1, 1), sh2.Cells(r, c)).Value

              come vedi ho inserito la dimensione delle colonne.

              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: 157

                Grazie mille!

                Hai ragione. A volte chiedo un po’ troppo (Sid ne sa qualcosa).

                Se alla prossima occasione vedi che stiamo uscendo dal Range del “gratuito” scrivimi pure in privato, così ci mettiamo d’accordo.

                Ok?

                 

                Grazie ancora ed alla prossima! :good:

              • sidsid
                Moderatore
                  Post totali: 749

                  …avrei bisogno di una ListBox con 23 colonne perchè tante ne servono per compilare tutto ma purtroppo il limite è 10….

                  Giusto ad uso didattico; il limite di 10 colonne si può ovviare agendo da codice.
                  Ammettendo una tabella sul foglio di 23 colonne, range “A:W”, dichiarando il range come Variant, questo viene letto da vba come una matrice, che viene usata come riferimento dalla proprietà List

                  Un esempio da adattare alle proprie esigenze

                  Private Sub UserForm_Initialize()
                  Dim vTabella As Variant
                  Dim ws As Worksheet
                  Set ws = Sheets("Foglio1") ' nome tuo foglio
                  
                  vTabella = ws.Range("A1:W10").Value
                  
                  With Me.ListBox1
                      .ColumnCount = 23
                      .List = vTabella
                  End With
                  
                  Set ws = Nothing
                  End Sub
                • AvatarKris_9951
                  Partecipante
                    Post totali: 157

                    Grande Sid!

                    Grazie per le info!! :-)

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