Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    103

    Problemi con ListBox[vba/excell]

    Salve a tutti,
    ho il problema di creare un programmino in excell dove inserire un elenco di scuole di roma e provincia divisi per distretto. Mi piacerebbe che ogni volta che clicco su un distretto posso leggere nella listbox l'elenco delle scuole del distretto relativo. Non solo ma se seleziono un item si riempiono dei campi di testo con l'indirizzo, la città, etc. Ora il problema sta nel fatto che riempendo la listbox con tutti i dati una volta che seleziono il primo item non si riempiono i campi, così come selezionando il secondo, ma selezionando il terzo mi si riempiono i campi testo con i valori del primo item. Non solo ma selezionando un altro distretto mi si riempie il listbox con le scuole relative ma la selezione degli item porta alla lettura dei campi testi come se fosse letta la listbox con tutti gli item.
    Non so se mi sono spiegato bene. Comunque il codice per selezionare la listbox con tutti i dati è:
    codice:
    Private Sub ListBox1_Click()
    For y = 2 To 250
    If ListBox1.Selected(y) Then
    indirizzo.Text = Range("B" & y)
    citta.Text = Range("C" & y)
    fin0607.Text = Range("I" & y)
    alunni0607.Text = Range("D" & y)
    fin0708.Text = Range("AE" & y)
    alunni0708.Text = Range("AB" & y)
    note.Text = Range("AG" & y)
    dist.Text = Range("AF" & y)
    End If
    Next
    End Sub
    mentre per chiamare un distretto è:
    codice:
    Private Sub G2_opt_Click()
    indirizzo.Text = ""
    citta.Text = ""
    fin0607.Text = ""
    alunni0607.Text = ""
    fin0708.Text = ""
    alunni0708.Text = ""
    note.Text = ""
    dist.Text = ""
    ListBox1.Clear
    For y = 2 To 150
    If (Range("AF" & y) = "G2") Then
    ListBox1.AddItem Range("A" & y)
    End If
    Next
    End Sub
    Logicamente il distretto è G2.
    Scusatemi se non mi sono spiegato bene
    Ciao
    neho

  2. #2

    Re: Problemi con ListBox[vba/excell]

    Originariamente inviato da neho34
    Salve a tutti,
    ho il problema di creare un programmino in excell dove inserire un elenco di scuole di roma e provincia divisi per distretto. Mi piacerebbe che ogni volta che clicco su un distretto posso leggere nella listbox l'elenco delle scuole del distretto relativo. Non solo ma se seleziono un item si riempiono dei campi di testo con l'indirizzo, la città, etc. Ora il problema sta nel fatto che riempendo la listbox con tutti i dati una volta che seleziono il primo item non si riempiono i campi, così come selezionando il secondo, ma selezionando il terzo mi si riempiono i campi testo con i valori del primo item. Non solo ma selezionando un altro distretto mi si riempie il listbox con le scuole relative ma la selezione degli item porta alla lettura dei campi testi come se fosse letta la listbox con tutti gli item.
    Non so se mi sono spiegato bene....
    ...Scusatemi se non mi sono spiegato bene
    Ciao
    1) No, non ti sei spiegato bene.
    2) Excel si scrive con una sola L
    3) Parli di ListBox, poi posti una routine opt_click...
    4) alla fine tu stesso ammetti di non esserti spiegato, scusarsi non serve, magari spiegare meglio....
    5) usare un po' di punteggiatura, nelle frasi,... pare brutto ?

    :master:
    IceCube_HT (VB6 fan Club)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    103
    Scusami.
    Cmq intendevo dire questo:
    1) vorrei creare una userform con una listbox che abbia un elenco di scuole di roma e provincia.
    2) se seleziono un item della listbox mi si devono riempire una serie di campi di testo con informazioni
    3) ci saranno anche una serie di option click che permettano di dividere la lista attraverso dei filtri (una serie di distretti scolastici)
    Ora i problemi sono questi:
    1) Una volta riempita la listbox, selezionando la prima scuola della lista non viene riempito nessun campo di testo. Se seleziono il terzo item i campi di testo si riempiono con i valori del primo item.
    2) Se applico un filtro, la listbox si riempie con le scuole relative al distretto selezionato, ma se seleziono un item compie l'errore illustrato in precedenza.
    Spero stavolta di essere stato più chiaro.
    neho

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    103
    Il codice che ho inserito fa riferimento alla selezione di un item della listbox1 che ho inserito nella mia user form. Il secondo riguarda un option click come esempio per l'applicazione del filtro. Mi scuso anche per aver scritto excel con due l.
    neho

  5. #5
    Originariamente inviato da neho34
    ...
    Ora i problemi sono questi:
    1) Una volta riempita la listbox, selezionando la prima scuola della lista non viene riempito nessun campo di testo. Se seleziono il terzo item i campi di testo si riempiono con i valori del primo item.
    2) Se applico un filtro, la listbox si riempie con le scuole relative al distretto selezionato, ma se seleziono un item compie l'errore illustrato in precedenza.
    Ciao, ora e' un po' piu' chiaro !
    (non c'era bisogno di scusarsi... i miei erano "rimproveri" scherzosi, evidenziati dalle "faccine" )

    Problema 1:
    usi un ciclo For y = 2 To...
    quindi le voci 0 e 1 della ListBox non vengono considerate !
    Probabilmente esiste uno "sfasamento" di 2 unita' tra gli indici della ListBox (il primo elemento e' sempre lo 0) e la corrispondente riga di Excel dove sono memorizzati i dati da mettere nelle textbox...
    Per risolvere basta modificare:
    codice:
    If ListBox1.Selected(y - 2 ) Then
    IceCube_HT (VB6 fan Club)

  6. #6
    Originariamente inviato da neho34
    ...
    2) Se applico un filtro, la listbox si riempie con le scuole relative al distretto selezionato, ma se seleziono un item compie l'errore illustrato in precedenza.
    "...ma la selezione degli item porta alla lettura dei campi testi come se fosse letta la listbox con tutti gli item.
    Non so se mi sono spiegato bene."
    Ehmm... :master: ...qui ho forse capito il problema , ma la soluzione non e' cosi' immediata, e dovrai trovarla tu:
    hai una singola listbox, ed un'UNICA routine in cui "associ" un elemento della lista alla riga del foglio Excel da cui prelevare i dati. Percio' se modifichi il contenuto della lista (quando clicchi su un option-button, esegui la Clear e i successivi AddItem...), questa "corrispondenza" va' a farsi benedire !

    Ciao !
    IceCube_HT (VB6 fan Club)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    103
    Ti ringrazio, ora funziona.
    Solo che quando provo a fargli usare un filtro il programma nella listbox compie la selezione, ma quando clicco la scuola scelta continua a riempirmi i campi di testo con i valori che sono dell'elenco senza filtro. Cioè per spiegarmi l'elenco completo la prima scuola ha come valori indirizzo = via bo
    ora se effettuo il filtro il valore deve essere
    indirizzo = via là
    invece ho come risultato
    indirizzo = via bo
    cioè quello che ho con l'elenco completo. Dov'è che sbaglio?
    neho

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    103
    Scusa non avevo letto l'ultima risposta. Ti ringrazio ugualmente lo stesso. Davvero grazie per il tuo tempo
    Ciao
    neho

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.