You are here:--[RISOLTO] ListBox con più di 10 colonne
[RISOLTO] ListBox con più di 10 colonne2019-10-19T14:53:09+01:00

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

  • Autore
    Articoli
  • AvatarKris_9951
    Partecipante
      Post totali: 110

      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 argomento è stato modificato 1 mese, 2 settimane fa da sid sid.
    • BySalvBySalv
      Amministratore del forum
        Post totali: 547

        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

      • AvatarKris_9951
        Partecipante
          Post totali: 110

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

            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

          • AvatarKris_9951
            Partecipante
              Post totali: 110

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

                …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: 110

                  Grande Sid!

                  Grazie per le info!! :-)

                Devi essere loggato per rispondere a questa discussione.

                Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

                Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

                Chiudi