Excel e gli applicativi Microsoft Office Visualizzare colonna ad intervallo nella listbox

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #19924 Score: 0 | Risposta

    Gret
    Partecipante

      Salve a tutti,

      spero possiate aiutarmi con il mio quesito..

      In una userform ho un pulsante e una listbox; se il pulsante viene cliccato, nella listbox, vengono visualizzate le prime sette colonne. Qui avrei la necessità di visualizzare la colonna numero 45.

      Nella listbox dovranno uscire le colonne numero: 1,2,3,4,5,6,7 e 45.

      Questa è la macro che utilizzo:

      Private Sub CommandButton4_Click()
      Dim wbFrom As Workbook, wbTo As Workbook, wkFrom As Worksheet
      Dim Righe As Long, Colonne As Long, r As Long, C As Long, arrLstBox() As Variant
      Dim Rng As Range
      Set wbFrom = Workbooks("FileMaster.xlsx")
      Set wbTo = ThisWorkbook
      Set wkFrom = wbFrom.Sheets("Sheet1")
      With wkFrom.Range("A5").CurrentRegion
        Righe = .Rows.Count - 1
        Colonne = .Columns.Count
        Set Rng = .Offset(1, 0).Resize(Righe, Colonne)
      End With
      Righe = wkFrom.Range("A5").CurrentRegion.Rows.Count - 1
      Colonne = wkFrom.Range("A5").CurrentRegion.Columns.Count
      Me.ListBox1.ColumnCount = 7
      ReDim arrLstBox(1 To Righe, 1 To Colonne)
      For r = 1 To Righe
        For C = 1 To Colonne
          arrLstBox(r, C) = wkFrom.Cells(r + 1, C)
        Next C
      Next r
      Me.ListBox1.List() = (arrLstBox)
      End Sub

      Grazie mille in anticipo per la disponibilità e buona continuazione  

      #19926 Score: 1 | Risposta

      vecchio frac
      Senior Moderator
        272 pts

        Ma il codice, che non ho provato naturalmente, ti funziona o no?

        Perchè per mettere il riferimento alla nuova colonna ti basterà inserirla dopo il next C. Ovviamente devi dimensionare arrListBox in modo che possa ospitare una colonna in più (e probabilmente anche la proprietà ColumnCount del ListBox andrà adeguata):

        For r = 1 To Righe
          For C = 1 To Colonne
            arrLstBox(r, C) = wkFrom.Cells(r + 1, C)
          Next C
          arrLstBox(r, C + 1) = wkFrom.Cells(r + 1, 45)    'legge la colonna 45, riga per riga
        Next r
        #19927 Score: 0 | Risposta

        Gret
        Partecipante

          Ciao vecchio frac,

          grazie mille per aver risposto!

          Ho inserito la tua soluzione ma mi dava errore; ho anche cambiato il numero di visualizzazione ma niente.

          Allora ho cambiato il codice in questo modo:

           ReDim arrLstBox(1 To Righe, 1 To Colonne + 1)
          
              For r = 1 To Righe
          
                  For C = 1 To Colonne
          
                      arrLstBox(r, C) = wkFrom.Cells(r + 1, C)
          
                  Next C
          arrLstBox(r, 8) = wkFrom.Cells(r + 1, 45).Value

          adesso va una meraviglia!

          Grazie per l'imput.

          Buona continuazione e a presto  

          #19928 Score: 0 | Risposta

          Gret
          Partecipante

            vecchio frac ha scritto:

            Ma il codice, che non ho provato naturalmente, ti funziona o no?

            Si funziona, dovevo solo capire come inserire l'altra colonna.

          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: Visualizzare colonna ad intervallo nella listbox
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni: