erst einmal einen schönen guten Morgen an Alle
Ich habe folgenden Code, mir teilweise auch mit Hilfe aus der Recherche zusammengebastelt. Komme aber nicht mehr weiter. Kann vielleicht einer von Euch helfen?
Private Sub ComboBox13_Change()
Dim r1%
Dim i As Integer
Application.ScreenUpdating = False
With UserForm1
'füllt die ComboBox12 mit den Datensätzen
r1 = ComboBox13.ListIndex + 3
Label145.Caption = ComboBox13.Value 'der Ort wird übernommen
Label147.Caption = ComboBox14.Value '
End With
With UserForm1
.ListBox3.Clear 'löscht den Inhalt der ListBox
s = Label145.Caption
Sheets("AGH").Activate
Range("C3").Select 'hier stehen die Orte
i = 0
Do Until ActiveCell.Value = ""
If InStr(ActiveCell.Value, s) > 0 Then
.ListBox3.AddItem ActiveCell.Value
.ListBox3.Column(1, i) = ActiveCell.Offset(0, -2).Value 'ID
.ListBox3.Column(2, i) = ActiveCell.Offset(0, -1).Value 'Träger
.ListBox3.Column(3, i) = ActiveCell.Offset(0, 1).Value 'Ort
.ListBox3.Column(4, i) = ActiveCell.Offset(0, 2).Value 'Träger-Nr
.ListBox3.Column(5, i) = ActiveCell.Offset(0, 3).Value 'Maßn-Nr
.ListBox3.Column(6, i) = ActiveCell.Offset(0, 4).Value 'SteA-Nr
i = i + 1
Else
End If
ActiveCell.Offset(1, 0).Select
Loop
End With
Range("A1").Select
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_Initialize()
'hier werden die Datensätze in die "ComboBox12"(z),"ComboBox13"(y) eingelesen
Dim z As Integer
Dim letzte As Integer
Dim y As Integer
Dim letzte1 As Integer
TextBox92.Enabled = False 'bereits belegt
With UserForm1
.ListBox1.ColumnCount =6
.ListBox1.ColumnWidths = "90;60;80;80;60;60"
.ListBox2.ColumnCount = 4
.ListBox2.ColumnWidths = "90;50;70;70"
ComboBox12.Clear 'suchen SteA-Nr.: (ComboBox Inhalt leeren)
'Das Kombinationsfeld "suchen SteA-Nummer" (ComboBox12) füllen
letzte = Sheets("AGH").Range("F65536").End(xlUp).Row
For z = 3 To letzte
UserForm1.ComboBox12.AddItem Sheets("AGH").Cells(z, 6).Value
Next z
End With
With UserForm1
.ListBox3.ColumnCount = 6
.ListBox3.ColumnWidths = "90;60;80;80;60;60"
ComboBox13.Clear 'suchen SteA-Nr.: (ComboBox Inhalt leeren)
'Das Kombinationsfeld "Orte" (ComboBox13) füllen
letzte1 = Sheets("Ort").Range("A65536").End(xlUp).Row
For y = 1 To letzte1
UserForm1.ComboBox13.AddItem Sheets("Ort").Cells(y, 1).Value 'suchen Ort
Next y
End With
UserForm1.ComboBox12 = Worksheets("Vorgaben").Range("P1").Value
End Sub
folgende Ausgangsposition:
ComboBox13 wird aus Tabelle"Ort"Spalte "A" eingelesen
(das funzt auch)
Jetzt möchte ich aber das die Mehrspaltige ListBox3 mit Werten gefüllt wird, und zwar soll in Tabelle "AGH" in Spalte "C" ab Zeile 3 nach dem Ort der in der ComboBox13 ausgewählt ist gesucht werden und alle Zeilen die den Ortsnamen aus Spalte "C" enthalten in der ListBox3 eingetragen werden.
Ein Problem kommt da noch hinzu. Und zwar soll, wenn der Ort vorhanden ist, in der gleichen Zeile nach Spalte "M" geschaut werden, ob da der Eintrag "offen" drin steht.Nur wenn das der Fall ist, soll die Zeile in die ListBox3 übernommen werden.(Wichtig: alle Zeilen aus Tabelle"AGH" sollen übernommen werden, die in Spalte "C" den Ortsnamen aus ComboBox13 enthalten und in Spalte "M" den Wert "offen" haben).
Ich hoffe das ist einigermaßen verständlich erklärt, und nicht zu viel verlangt.
Tausend Dank für Eure Bemühungen im vorraus
Gruß Andreas.R