AW: ListView mit Bedingung einlesen
24.11.2016 08:39:36
Ludmila
Hallo GraFri,
vielen Dank, dass Du Dir solche Mühe machst.
Bei mir sind die Daten nicht exakt in der Spalten Reihenfolge
Ich lese die Daten wie folgt ein:
Private Sub KD_lst_einlesen()
Set WkbD = Workbooks(sD)
Set WksKD = WkbD.Worksheets(KD)
With UFKD.ListView1
.ListItems.Clear
.ColumnHeaders.Clear
.View = 3
.Gridlines = True
.FullRowSelect = True
.AllowColumnReorder = False
.ColumnHeaders.Add , , "KDNR", 40
.ColumnHeaders.Add , , "ANREDE", 40
.ColumnHeaders.Add , , "NACHNAME", 80
.ColumnHeaders.Add , , "VORNAME", 80
.ColumnHeaders.Add , , "STRASSE", 120
.ColumnHeaders.Add , , "PLZ ORT", 120
.ColumnHeaders.Add , , "MOBIL", 80
.ColumnHeaders.Add , , "TELEFON1", 80
.ColumnHeaders.Add , , "MAIL", 80
.ColumnHeaders.Add , , "ID", 0
If IsEmpty(WksKD.Cells(2, 1)) Then: Exit Sub
For ii = 1 To WksKD.Cells(Rows.Count, 1).End(xlUp).Row
lSp = WksKD.Rows(1).Find(what:="KDNR", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems.Add , , WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="ANREDE", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(1) = WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="NACHNAME", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(2) = WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="VORNAME", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(3) = WksKD.Cells(ii, lSp)
lSp1 = WksKD.Rows(1).Find(what:="HSNR", LookIn:=xlValues, lookat:=xlWhole).Column
lSp = WksKD.Rows(1).Find(what:="STRASSE", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(4) = WksKD.Cells(ii, lSp) & " " & WksKD.Cells(ii, lSp1)
lSp1 = WksKD.Rows(1).Find(what:="ORT", LookIn:=xlValues, lookat:=xlWhole).Column
lSp = WksKD.Rows(1).Find(what:="PLZ", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(5) = WksKD.Cells(ii, lSp) & " " & WksKD.Cells(ii, lSp1)
lSp = WksKD.Rows(1).Find(what:="MOBIL", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(6) = WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="TELEFON1", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(7) = WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="MAIL", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(8) = WksKD.Cells(ii, lSp)
lSp = WksKD.Rows(1).Find(what:="ID", LookIn:=xlValues, lookat:=xlWhole).Column: . _
ListItems(ii).SubItems(9) = WksKD.Cells(ii, lSp)
Next ii
.HideSelection = False
.ListItems.Remove (1)
If .ListItems.Count = 1 Then
UFKD.lblKDAnzahl.Caption = "Doppelklick öffnet Bearbeitung - Gesamt:" & " " & .ListItems. _
Count & " Kunde"
Else
UFKD.lblKDAnzahl.Caption = "Doppelklick öffnet Bearbeitung - Gesamt:" & " " & .ListItems. _
Count & " Kunden"
End If
End With
End Sub
Jetzt ist auch Deine Frage zu .ListItems.Remove (1) beantwortet.
Gruß
Ludmila