VBA ListView auslesen

Abraxas_X

Grünschnabel
Hallo Zusammen,
bin neu hier und in VBA bisschen gewandert.
Ich versuche grade per ListView die Daten die sich in einer Tabelle befinden in 3 TextBoxen auszulesen.
Leider zeigt er mir einen Fehler.

Benutze folgenden Code dafür:

Private Sub ListView1_Click()
Dim X As Integer
For X = 0 To ListView1.Items.Count - 1
TextBox1 = ListView1.Items(X).SubItems(0).Text ' Wert aus 1. Spalte
TextBox2 = ListView1.Items(X).SubItems(1).Text ' Wert aus 2. Spalte
TextBox3 = ListView1.Items(X).SubItems(2).Text ' Wert aus 3. Spalte

Next X


End Sub

Fehler Meldung bei Items:

MfG

Ab........
 
Ich war immer der Meinung, der Items-Count für ListViews beginnt bei 1 statt bei 0

Visual Basic:
For x=1 To ListView1.Items.Count

Und muss das nicht ListItems (Statt Items) heissen?
Visual Basic:
For x=1 To ListView1.ListItems.Count
 
Guten abend,
vielen dank für deine schnelle antwort und auch für deine Hilfe.
Hab den code abgeändert, und jetzt zeigt er mir einen anderen Fehler an.

Visual Basic:
Private Sub ListView1_Click()
Dim X As Integer
    For X = 1 To ListView1.ListItems.Count
        TextBox1 = ListView1.ListItems(X).SubItems(0).Text   ' Wert aus 1. Spalte
        TextBox2 = ListView1.ListItems(X).SubItems(1).Text  ' Wert aus 2. Spalte
        TextBox3 = ListView1.ListItems(X).SubItems(2).Text   ' Wert aus 3. Spalte
        
    Next X
End Sub
 
Zuletzt bearbeitet von einem Moderator:
Hallo,
sorry das ich mich erst jetzt melde, war Beruflich sehr angespannd.
Im Anhang befindet sich die Fehler meldung

In den Texten wird aber leider noch nix angezeigt, wie bekomme ich das man besten hin, wenn ich auf einen eintrag in ListView klicken, das er mir die Daten in den TextBoxen anzeigt?

gruß
 

Anhänge

  • Fehler_vba.jpg
    Fehler_vba.jpg
    79,4 KB · Aufrufe: 5
Zuletzt bearbeitet:
Ungetestet.
Visual Basic:
Private Sub ListView1_Click()
Dim X As Integer
    For X = 1 To ListView1.ListItems.Count
        TextBox1 = ListView1.ListItems(X).Text   ' Wert aus 1. Spalte
        TextBox2 = ListView1.ListItems(X).SubItems(1)  ' Wert aus 2. Spalte
        TextBox3 = ListView1.ListItems(X).SubItems(2)   ' Wert aus 3. Spalte
        
    Next X
End Sub

Dir ist aber klar, dass obiger Code dir nur die letzte Zeile des ListViews in die Textboxen einträgt?

Wenn du die ausgewählte Zeile haben willst
Visual Basic:
Private Sub ListView1_Click()
   If ListView1.SelectedItem <> "" Then  'Hier bin ich mir nicht sicher
        TextBox1 = ListView1.SelectedItem.Text   ' Wert aus 1. Spalte
        TextBox2 = ListView1.SelectedItem.SubItems(1)  ' Wert aus 2. Spalte
        TextBox3 = ListView1.SelectedItem.SubItems(2)   ' Wert aus 3. Spalte
   End If
End Sub
 
Zurück