Forum di Excel e VBA, per condividere esperienze e risolvere problemi su: Excel, Word, Access, Power Point, Microsoft Office, macro, Visual Basic e Visual Studio.
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