Caricare listbox

  • Listbox di Apoben64
    Ciao a tutti,
    in un modulo ho inserito il codice in calce .

    la listbox si trova nel foglio 1 , come anche i dati .


    e' possibile, invece, lasciare la listbox nel foglio 1 ma
    caricare i dati provenienti dal foglio 2 ?


    sarà banale la risposta ma ancora non ci sono riuscito
    ciao a tutti,
    in un modulo ho inserito il codice in calce .

    la listbox si trova nel foglio 1 , come anche i dati .


    e' possibile, invece, lasciare la listbox nel foglio 1 ma caricare i dati provenienti dal foglio 2 ?

    sarà banale la risposta ma ancora non ci sono riuscito


     
    Ciao a tutti, 
    in un modulo ho inserito il codice in calce . 
    
    La listbox si trova nel foglio 1 , come anche i dati . 
    
    
    E' possibile, invece, lasciare la listbox nel foglio 1 ma 
    caricare i dati provenienti dal foglio 2 ? 
    
    
    Sarà banale la risposta ma ancora non ci sono riuscito 
    
    Sub CaricaLista3() 
    Sheets(1).ListBox1.ColumnCount = 4 
    Sheets(1).ListBox1.ColumnWidths = "30;50;60;60;" 
    data = Date 
    n = 0 
    For Each Cell In Range("A1:A100") 
    If Cell.Value = data Then 
    x = Cell.Offset(0, 1).Value ' 
    y = Cell.Offset(0, 2).Value ' 
    z = Cell.Offset(0, 3).Value ' 
    Sheets(1).ListBox1.AddItem x 
    Sheets(1).ListBox1.List(n, 1) = y 
    Sheets(1).ListBox1.List(n, 2) = z 
    n = n + 1 
    End If 
    Next 
    End Sub 
    

    di Enzo
    Ciao luca vediamo se questo puo' esserti utile ma dovrai adattaralo
    ti spiego
    in un mio file richiamo dal foglio 1 una userform all'interno della quale ho una listbox (listbox2 nel mio caso)
    questa va a prendere dei dati partendo dalla casella c8 del foglio 2
    ma e' sempre visibile nel foglio1
    prova a vedere se ti puo' essere utile
    famme sape'
     
    Application.ScreenUpdating = False
    Sheets("foglio1").Select
    Range("C8").Select
    X = Range("C8").Address
    Y = Range("C8").End(xlDown).Address
    ListBox2.RowSource = "" & X & ":" & Y & ""
    Sheets("foglio1").Select
    Application.ScreenUpdating = True
    End Sub
    

    di Enzo
    Scusa, il codice esatto e' questo qui sotto
    comunque ti ho inviato un file d'esempio
    se ti puo'ì essere utile

     
    Application.ScreenUpdating = False
    Sheets("foglio2").Select
    Range("C8").Select
    X = Range("C8").Address
    Y = Range("C8").End(xlDown).Address
    ListBox2.RowSource = "" & X & ":" & Y & ""
    Sheets("foglio1").Select
    Application.ScreenUpdating = True
    End Sub
    
    

    Ciao enzo di Apoben64
    Grazie enzo , in effetti ho volutamente non usare un form, molto semplice e pratico, per il quale nel tuo esempio viene efficacemente utiilizzato.

    ma la list box deve essere inserita nel foglio,(listbox additem), dev'essere visibile e i dati da caricare però si trovano però nel foglio 2 .

    grazie ancora !

    un saluto luca


    di Enzo
    Ci lavorero' su

    Per luca di Enzo
    Penso di esserci riuscito.
    ti invio un file di prova
    fa sapere

    Meritevole! di Apoben64
    Enzo, ti sono veramente grato, questa è la soluzione che cercavo , è semplice e raggiunge l'obiettivo.

    complimenti e ti ringrazio !
    luca
    Sub caricalista()
     Dim rng As Range
        Dim arr As Variant
        Dim i As Long, j As Long
        Set rng = ThisWorkbook.Sheets("Foglio2").Range("A1:a8")
        arr = rng.Value
        Foglio1.ListBox1.Clear
        For i = LBound(arr, 1) To UBound(arr, 1)
            For j = LBound(arr, 2) To UBound(arr, 2)
        Foglio1.ListBox1.AddItem arr(i, j)
            Next j
        Next i
        End Sub