Moin Ralf,
dass ein Control namens Listview je nach VB-Version mal die
eine, mal die andere Definition hat, traue ich nicht einmal
Microsoft zu.
Oh doch, wenn du dich da mal nicht irrst 
Ich habe leider kein VB6 mehr drauf, sondern VB 9, von daher kann ich nicht mehr nachschauen. Aber soweit ich weiss, geht es so wie es der Fragesteller gepostet hat!
Aber auch wenn ich mal kurz google befrage, so bekomme ich als Ergebnis.
ListView1.ListItems(x).Selected = True
Wenn wir nun einmal nachdenken, so koennte man das umbauen in
if ListView1.ListItems(x).Selected then
'Dein Source
end if
Aber wenn wir einmal dabei sind …
Ein kleiner Auszug, was ich gerade gelesen habe 
Common Controls von VB5 nach VB6
Die Windows Common Controls (comctl32) werden nicht automatisch in die neuen Versionen (mscomctl) überführt, wenn ein VB5 Projekt mit der VB6 IDE geladen wird. Auch nicht wenn die Option "ActiveX Steuerelemente aktualisieren" aktiviert ist - so wie es in der Online Dokumentation zu VB6 beschrieben ist.
Die Erklärung und Anweisungen, um die Projekte zu aktualisieren sind im Microsoft Knowledge Base Artikel Q190952 zu finden.
Microsoft bietet ein kleines Tool an, um die notwendigen Änderungen automatisch vornehmen zu lassen.
Ich habe festgestellt, daß beim ListView Steuerelement die Spaltenbreiten kaputt gehen. :frowning: Die Zahlen für die Breiten sind zwar noch korrekt, aber die Anzeige ist falsch. Das muß wohl daran liegen, daß die VB6 Version, die Breiten anders interpretiert.
Zu jeder Spaltenbreite müssen ca. 280 Twips hinzuaddiert werden. Da ich sowieso für jedes ListView die ganzeZeile Prozedur (s. höher auf dieser Seite) aufrufe, habe ich dort eine Korrektur eingefügt, damit ich nicht massig ListView Controls ändern muß.
Wie wird eine Listview eingestellt?
Du kannst auf Report umschalten, Mehrfachauswahl und und und
und welchen Wert M hat!
Dazu muss man wissen, dass VB nicht bei 1 zu zählen anfängt,
sondern bei 0.
Auch da irrst du dich gewaltig! Ich sage mal sehr waage… nur bei „Objecten“
Was meinst du denn wieviele Felder du in dem Falle hast?
Option Base 1
Dim x(9) as String
Aber mal abgesehen davon. Gehen wir mal von einen der folgenden Faelle aus. Du hast eine Schleife (M) sie wird von 0 bis Count -1 durchlaufen. In der Schleife, tritt ein Fehler auf und aus irgendein Grund wird M wieder zurueckgesetzt. Sprich du bleibst haengen.
Nehmen wir mal an, der Fehler tritt auf wenn die Zeile makiert ist. Die erste Zeile ist makiert, was passiert in dem Falle?
Ist es da verkehrt nach dem Wert von M zu fragen ?
Gruß Ralf
MfG Alex