proprietà listbox

Cortesemente un aiuto ad un principiante ... ; vorrei capire il funzionamento di alcune proprietà  di una listbox; questo il codice utilizzato:


Private Sub UserForm_Initialize()
Dim xRigaF1 As Long
Dim xRigaF2 As Long
Dim xScaduti As String
Dim xInScadenza As String
xRigaF1 = Sheets("Scaduti").Cells(Rows.Count, 1).End(xlUp).Row
xScaduti = "Scaduti!A2:F" & xRigaF1
With Me.ListBox1
    .ColumnHeads = True
    .RowSource = xScaduti
    .ColumnCount = 6
    .ColumnWidths "100;80;30;60;30"
End With
xRigaF2 = Sheets("InScadenza").Cells(Rows.Count, 1).End(xlUp).Row
xInScadenza = "InScadenza!A2:F" & xRigaF2
With Me.ListBox2
    .ColumnHeads = True
    .RowSource = xInScadenza
    .ColumnCount = 6
    .ColumnWidths "100;80;30;60;30"
End With
End Sub


in pratica ho la UserForm1 con due ListBox che caricano rispettivamenti i dati colonne A:F dei Fogli "Scaduti" e "InScadenza"

Anomalie riscontrate:

nel caso ad uno dei due fogli ho solo intestazione (quindi riga 1) e nessun dato, nella relativa listbox mi compare come intestazione "Colonna A", "Colonna B", ecc. e come prima riga le intestazioni della prima riga, mentre mi dovrebbe comparire solo intestazione (prima riga) e nessun dato.
Mi sembra un comportamento strano e vorrei capire dove sbaglio nel codice.

Altro problema sulla riga:

.ColumnWidths "100;80;30;60;30"

mi và in errore: "Errore di compilazione: Utilizzo non valido di Property", come devo impostare per determinare la larghezza di colonne delle due ListBox?
Grazie mille e una buona notte a tutti.

Ciao Antonio

 

Informazioni domanda


Ultimo aggiornamento febbraio 22, 2018 Visualizzazioni 294 Si applica a:
Risposta

Ciao Antonio,

puoi provare in questo modo:

---

    Dim xRigaF1 As Long
    Dim xRigaF2 As Long
    Dim xScaduti As String
    Dim xInScadenza As String
   
    xRigaF1 = Sheets("Scaduti").Cells(Rows.Count, 1).End(xlUp).Row
    If xRigaF1 = 1 Then xRigaF1 = 2
   
    xScaduti = "Scaduti!A2:F" & xRigaF1
   
    With Me.ListBox1
        .ColumnHeads = True
        .RowSource = xScaduti
        .ColumnCount = 6
        .ColumnWidths = "100;80;30;60;30"
    End With
   
    xRigaF2 = Sheets("InScadenza").Cells(Rows.Count, 1).End(xlUp).Row
    If xRigaF2 = 1 Then xRigaF2 = 2
   
    xInScadenza = "InScadenza!A2:F" & xRigaF2
   
    With Me.ListBox2
        .ColumnHeads = True
        .RowSource = xInScadenza
        .ColumnCount = 6
        .ColumnWidths = "100;80;30;60;30"
    End With
---

 

David

--
Se la risposta ti ha aiutato, fai click su "Utile".
Se ha risolto il tuo problema, fai click su "Ho risolto il mio problema".

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.