ListView Excel VBA - Überschrift und Spaltenwerte
Moin Zusammen
Ich brauche in meiner UserForm eine Liste. Diese Liste soll die Spalten F, G, I und L anzeigen. Jeweils in Zelle 1 steht der Titel der Spalte, welcher dann auch für die ListView der Titel sein soll.
Ich hab mich nun schon durch Google gekämpft und was gefunden. Aber irgendwie bring ich das nicht auf mein Bedürfnis hin:
Original war es so:
Fehlermeldung:
Laufzeitfehler '9':
Index ausserhalb des gültigen Bereichs
Wo habe ich einen Denkfehler/Flüchtigkeitsfehler/Unwissenheitsfehler gemacht?
Grüsse, Aiv
Ich brauche in meiner UserForm eine Liste. Diese Liste soll die Spalten F, G, I und L anzeigen. Jeweils in Zelle 1 steht der Titel der Spalte, welcher dann auch für die ListView der Titel sein soll.
Ich hab mich nun schon durch Google gekämpft und was gefunden. Aber irgendwie bring ich das nicht auf mein Bedürfnis hin:
Worksheets("BISy").Activate
Dim oItem As ListItem
Dim Daten(0 To 500, 2) As Variant
Dim i As Long
With ListView1
'.Width = 350
'.Height = 300
.View = lvwReport
.ColumnHeaders.Add , , Sheets("BISy").Range("F1"), 70
.ColumnHeaders.Add , , Sheets("BISy").Range("G1"), 100
.ColumnHeaders.Add , , Sheets("BISy").Range("I1"), 200
.ColumnHeaders.Add , , Sheets("BISy").Range("L1"), 40
.Gridlines = True
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Daten(i - 2, 0) = Cells(i, 6)
Daten(i - 2, 1) = Cells(i, 7)
Daten(i - 2, 2) = Cells(i, 9)
Daten(i - 2, 3) = Cells(i, 12)
Set oItem = .ListItems.Add(, , Daten(i - 2, 6))
oItem.SubItems(1) = Daten(i - 2, 7)
oItem.SubItems(2) = Daten(i - 2, 9)
oItem.SubItems(3) = Daten(i - 2, 12)
Next
End With
Original war es so:
Private Sub UserForm_Initialize()
Dim oItem As ListItem
Dim Daten(0 To 500, 2) As Variant
Dim i As Long
With ListView1
.View = lvwReport
.ColumnHeaders.Add , , Sheets("Tabelle1").Range("A1"), .Width / 3
.ColumnHeaders.Add , , Sheets("Tabelle1").Range("B1"), .Width / 3
.ColumnHeaders.Add , , Sheets("Tabelle1").Range("D1"), .Width / 3
.Gridlines = True
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Daten(i - 2, 0) = Cells(i, 1)
Daten(i - 2, 1) = Cells(i, 2)
Daten(i - 2, 2) = Cells(i, 4)
Set oItem = .ListItems.Add(, , Daten(i - 2, 0))
oItem.SubItems(1) = Daten(i - 2, 1)
oItem.SubItems(2) = Daten(i - 2, 2)
Next
End With
End Sub
Fehlermeldung:
Laufzeitfehler '9':
Index ausserhalb des gültigen Bereichs
Wo habe ich einen Denkfehler/Flüchtigkeitsfehler/Unwissenheitsfehler gemacht?
Grüsse, Aiv
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 277907
Url: https://administrator.de/forum/listview-excel-vba-ueberschrift-und-spaltenwerte-277907.html
Ausgedruckt am: 23.12.2024 um 07:12 Uhr
2 Kommentare
Neuester Kommentar
Moin,
Gruß jodel32
Dim ws As Worksheet, oItem As ListItem, itms As ListItems, i as Long
Set ws = Sheets("BISy")
With ListView1
.View = lvwReport
.ColumnHeaders.Add , , ws.Range("F1"), 70
.ColumnHeaders.Add , , ws.Range("G1"), 100
.ColumnHeaders.Add , , ws.Range("I1"), 200
.ColumnHeaders.Add , , ws.Range("L1"), 40
.Gridlines = True
For i = 2 To ws.UsedRange.SpecialCells(xlCellTypeLastCell).Row
Set oItem = .ListItems.Add(, , ws.Cells(i, "F"))
oItem.SubItems(1) = ws.Cells(i, "G")
oItem.SubItems(2) = ws.Cells(i, "I")
oItem.SubItems(3) = ws.Cells(i, "L")
Next
End With