Da stecke ich wieder einmal vor einem Problem mit mehrspaltigen Listboxen (in UF).
1. Listbox enthält ALLE Standorte (4 Spalten, Name, Adr., Ort, Land), welche anhand von bestimmten Kriterien aus einer Tabelle eingelesen wurden.
2. Listbox enthält einige der Standorte, aber nicht alle (Aufbau gleiche 4 Spalten).
und nun kommst... in der 3. Spalte sollen nur die Standorte vorkommen, die nicht schon in Listbox 2 enthalten sind.
Diese 3. Listbox könnte ich nun wieder über die Tabelle laden und dabei Tabelle 1 und 2 vergleichen. Diese möchte ich aber wenn es geht nicht wegen der Performance. Die Standorte werden aus verschiedenen Tabellen geholt mit verschiedenen Kriterien und ist so schon etwas langsam.
Mein Versuch sah so aus...
ListBox3.List = ListBox1.List
For i = 0 To ListBox3.ListCount - 1
For ii = 0 To ListBox2.ListCount - 1
'If ListBox3.ListIndex(i) = ListBox2.ListIndex(ii) Then ListBox2.RemoveItem ListBox2.ListIndex(ii)
Next ii
Next i
Bereits beim Vergleich meckert er (Type mismatch)... hat jemand eine Idee, ob das überhaupt umsetzbar ist?
Herzlichen Dank im Voraus
Gruss
Chris
----------------------------------------------------------
PS:
Diesen Code habe ich als Beispiel zum Üben verwendent (leider nicht erfolgreich):
Option Explicit
Private Sub UserForm_Initialize()
Dim i As Byte, ii As Byte
'Listbox1 füllen
ListBox1.ColumnCount = 4
ReDim MyArray(1 To 4, 0 To 3)
For i = 1 To 4
MyArray(i, 0) = "A" & i
MyArray(i, 1) = "B" & i
MyArray(i, 2) = "C" & i
MyArray(i, 3) = "D" & i
Next i
ListBox1.List = MyArray
'Listbox2 füllen
ListBox2.ColumnCount = 4
ReDim MyArray(1 To 2, 0 To 3)
For i = 1 To 2
MyArray(i, 0) = "A" & i
MyArray(i, 1) = "B" & i
MyArray(i, 2) = "C" & i
MyArray(i, 3) = "D" & i
Next i
ListBox2.List = MyArray
ListBox3.ColumnCount = 4
ListBox3.List = ListBox1.List
'Hier beginnt das Problem....
For i = 0 To ListBox3.ListCount - 1
For ii = 0 To ListBox2.ListCount - 1
'If ListBox3.ListIndex(i) = ListBox2.ListIndex(ii) Then ListBox2.RemoveItem ListBox2.ListIndex(ii)
Next ii
Next i
End Sub