Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno VBA - napĺňanie ListBox-u procedúrou

Žiaľ nefunguje... vlastný zdroj dát som priradil, spravil som dve verzie, jednu bez ReDim, druhú s ReDim s nasledovnými výsledkami:
(uvádzam celé procedúry, pričom RZapisu je definovaná v hlavnom module ako Public)

bez ReDim :

Sub NaplnenieZoznamuR()
    Dim Rozsah(RZapisu, 12)
 
    frmKarta.lsbLRD.List = Rozsah
    frmKarta.lsbLRD.ColumnCount = 13
    frmKarta.lsbLRD.ColumnWidths = "30;70;0;0;110;80;0;80;45;45;0;0"
    
    j = 0
    For i = 4 To RZapisu
        If Sheets("RPNI").Range("C" & i) = Meno Then
            With frmKarta
                .lsbLRD.AddItem
                .lsbLRD.List(j, 0) = Sheets("RPNI").Range("A" & i).Text
                .lsbLRD.List(j, 1) = Sheets("RPNI").Range("B" & i).Text
                .lsbLRD.List(j, 4) = Sheets("RPNI").Range("E" & i).Text
                .lsbLRD.List(j, 5) = Sheets("RPNI").Range("F" & i).Text
                .lsbLRD.List(j, 7) = Sheets("RPNI").Range("H" & i).Text
                .lsbLRD.List(j, 8) = Sheets("RPNI").Range("I" & i).Text
                .lsbLRD.List(j, 9) = Sheets("RPNI").Range("J" & i).Text
                .lsbLRD.List(j, 12) = Sheets("RPNI").Range("M" & i).Text
            End With
            j = j + 1
        End If
    Next i
End Sub
V tomto prípade dochádza k chybe, že žiada pevnú hodnotu, nie premennú... Constant expression required

s ReDim (skúška "prenásilnenia :-) ) :

Sub NaplnenieZoznamuR()
    Dim Rozsah(100, 12)
    ReDim Rozsah(RZapisu, 12)
    
    frmKarta.lsbLRD.List = Rozsah
    frmKarta.lsbLRD.ColumnCount = 13
    frmKarta.lsbLRD.ColumnWidths = "30;70;0;0;110;80;0;80;45;45;0;0"
    
    j = 0
    For i = 4 To RZapisu
        If Sheets("RPNI").Range("C" & i) = Meno Then
            With frmKarta
                .lsbLRD.AddItem
                .lsbLRD.List(j, 0) = Sheets("RPNI").Range("A" & i).Text
                .lsbLRD.List(j, 1) = Sheets("RPNI").Range("B" & i).Text
                .lsbLRD.List(j, 4) = Sheets("RPNI").Range("E" & i).Text
                .lsbLRD.List(j, 5) = Sheets("RPNI").Range("F" & i).Text
                .lsbLRD.List(j, 7) = Sheets("RPNI").Range("H" & i).Text
                .lsbLRD.List(j, 8) = Sheets("RPNI").Range("I" & i).Text
                .lsbLRD.List(j, 9) = Sheets("RPNI").Range("J" & i).Text
                .lsbLRD.List(j, 12) = Sheets("RPNI").Range("M" & i).Text
            End With
            j = j + 1
        End If
    Next i
End Sub
V tomto prípade hlási chybu, že pole už je definované... Array already dimensioned

Kde robím chybu?

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny