Kriterienfelder in ein Array einlesen
21.04.2005 17:09:33
paula
die Recherche gibt unzählige Beispiele für das Suchen nach 2 od mehr feststehenden Kriterien in einer Datenbank od Zellenbereich,jedoch für das Suchen mit Arrays hab ich selbst nach Stunden nichts vernünftiges gefunden.
Ich bräuchte nur den zündenden Funken.
Die Datenbank hat 7 Spalten, die Daten fangen ab Zeile 5, due UF hat 7 Textboxes entsprechend der Spalten durchnumeriert(Textbox1 für Suchwert aus SP1, usw.)
Jetzt versuche ich in einer Schleife die Textboxes nach Inhalt zu prüfen und wenn ja, die Nummer der jenigen in ein Array zu lesen und als Kriterienfelder für die Suche zu benutzen.Es klappt nicht
Vermeiden möchte ich die Lösung mit den 2. Tabellenblatt als Platzhalter für die Suchkriterien.
Bin ich mit meinem Lösungsweg auf dem Holzweg? Bitte helft mir auf die Sprünge
Vielen Dank im Voraus
Paula
Option Explicit
Dim i As Integer
Dim iRow As Integer
Dim db_Gefunden As Boolean
Dim arr_gefundenZeile(100)
Dim db_AnzalGefunden As Integer
Dim arr_Krit(1 To 7)
Private Sub cmdSuchen_Click()
'----Modus einstellen
Modus_Suche = True
'Regelung der CommandButtons
'----Gruppe2
cmdSuchen.Visible = False
cmdSuchkriterien.Visible = False
cmdSucheBeenden.Visible = True
For i = 1 To 7
If Controls("TextBox" & i).Value <> "" Then
arr_Krit(i) = i '
Else
arr_Krit(i) = ""
End If
'MsgBox arr_Krit(i)
Next i
db_AnzalGefunden = 0
With Worksheets("Datenbank") 'hier sind die Datensätze
iRow = 5 'ab hier soll gesucht werden
Do Until IsEmpty(.Cells(iRow, 1))
For i = 1 To 7
If arr_Krit(i) <> "" Then
If .Cells(iRow, arr_Krit(i)).Value = Controls("TextBox" & i).Value Then
db_Gefunden = True
arr_gefundenZeile(iRow) = iRow
db_AnzalGefunden = db_AnzalGefunden + 1
End If
End If
Next i
iRow = iRow + 1
Loop
End With
MsgBox "Anzahl:" & db_AnzalGefunden
End Sub