Problemi con ListView



  • Problemi con ListView
    di gargiu data: 20/01/2016 11:17:24

    Ciao a tutti, Ho un problema con il popolare una ListView (vedi file allegato).
    Se il foglio non contine nulla, escluse le righe di intestazione, la UserForm1 si apre correttamente. Se compilo le celle del foglio, a partire dalla riga 5, quando apro al UserForm, mi appare un messaggio di errore tipo 13 che non capisco. Sapete aiutarmi?

    Grazie



  • di patel data: 20/01/2016 18:42:04

    un normale zip ?





  • di gargiu data: 20/01/2016 20:17:13

    È compresso con 7-zip, ottimo e free. Comunque ti ho allegato uno zip "normale".



  • di patel data: 20/01/2016 20:25:23

    non vedo alcuna listview nella tua userform, infatti all'apertura da subito errore





  • di alfrimpa data: 20/01/2016 20:28:46

    E' successa la stessa cosa anche a me.

    Ed anche se aggiungo alla form una listview1 il codice mi va in debug sulla riga

    .View = lvwReport

    che invece su altri file che ho funziona perfettamente.

    Alfredo





  • di gargiu data: 20/01/2016 20:58:54

    Se non vedi la listview, è probabile che ti manca il controllo.

    Per alfrimpa...

    Anche io utilizzo la listview in un altro file, senza riscontrare questo problema... Non riesco a capir cosa ho sbagliato.



  • di Gianfranco (utente non iscritto) data: 20/01/2016 21:48:23

    ciao
    a me risulta mancare il controllo
    common controls 5.0 (sp2)
    comctl32.ocx



  • di patel data: 21/01/2016 07:47:50

    cit.
    Se non vedi la listview, è probabile che ti manca il controllo.
    non credo, le mie le vedo





  • di gargiu data: 21/01/2016 08:21:44

    Ne ho allegato un'altro. Se non vedi la listview, inseriscila tu, le istruzioni sono comunque presenti nel codice.

    Grazie per l'interesse



  • di alfrimpa data: 21/01/2016 11:00:00

    Ciao

    Ho provato ad aprire il tuo secondo file ma stessi problemi.

    1) La "tua" listview non c'è
    2) Ho provato ad inserirne una io ma il codice va in debug in diversi punti
    3) Anche a me dice che manca il common controls 5.0 (sp2)

    Alfredo





  • di gargiu data: 21/01/2016 11:35:08

    Ciao Alfredo, nel mio Excel (office2010) ci sono 2 versioni di listview:
    - Microsoft ListView Control, version 5.0 (SP2)
    - Microsoft ListView Control, version 6

    Io utilizzo la versione 6.

    Nel frattempo ho sostituito la listview con una listbox, funziona ma mi manca la possibilità del riordino delle colonne molto semplice da eseguire con la listview, che le riordina a vista ma senza alterare il foglio di lavoro. E le listbox sono comunque molto grezze e difficili da formattare.... In sintesi le listview sono molto più versatili.

    Grazie ancora per l'interesse



  • di alfrimpa data: 21/01/2016 11:54:41

    Ciao Gargiu so anch'io che le listview sono ben più versatili ed esteticamente migliori delle listbox ma, a mio avviso, sono anche più "complicate" da gestire. Certo che una volta provate non si torna indietro

    Comunque ho ricreato ex novo il tuo file (Gargiu.xlsm che allego) ed apparentemente non si verificano errori.

    Essendo, per, il foglio Registro vuoto e non conoscendo le modalità di funzionamento del file non posso dire altro.

    Provalo un po' e vedi come va.

    Alfredo

    P.S. Io ho solo la versione 6 delle listview; poiché a me segnalava che mancava la 5 sei sicuro di aver usato la 6?







  • di gargiu data: 21/01/2016 12:20:24

    No!
    Stavo usando la 5....



  • di alfrimpa data: 21/01/2016 12:30:06

    Ecco infatti....

    Alfredo





  • di gargiu data: 21/01/2016 12:37:28

    Non mi da più nessun errore, ma la listview non mi viene popolata correttamente. Nel file allegato ho lasciato sia la listobox che la listview.




  • di gargiu data: 21/01/2016 15:32:38

    Ok ho risolto il problema del popolamento:
    la stringa sotto riportava il valore "For j = 5...", ho impostato su 2 e ora si popola correttamente.

    Ora ho però notato che le cifre prelevate dalle colonne "E,F,G,H" non sono espresse con i decimali nella ListView. Mi sapete dare delle dritte a riguardo?

    Grazie

     
    For i = 5 To RowCount
             Set LstItem = Me.ListView1.ListItems.Add(Text:=rngData(i, 1).Value)
             For j = 2 To ColCount
                 LstItem.ListSubItems.Add Text:=rngData(i, j).Value
             Next j