Ich gebe in ein Textfeld das heißt textSuchbegriff den Begriff ein und möchte eine erweiterte Suche daraus machen. Das heißt bevor ich den Button cmdNeueSuche drücke muss ich noch auswählen in welcher Bereich gesucht werden soll. Diese sind mit OptionButton eingeteilt.
Zum Beispiel für Nachnamen muss optNachname gedrückt werden. In meiner Tabelle ist der
Nachname auch die Spalte A. Dann wird die Zeile gesucht und die Daten in textboxen aufgeteilt. Wenn in Spalte A gesucht wird, funktioniert es auch mit der aufteilung der Daten.
Jedoch wenn ich den OptionButton optGebdatum nehme bei dem der Bereich Spalte i
ist, habe ich ein Problem mit der Datenaufteilung in die textboxen. Ich weiß halt nicht wie ich das mit den Spalten dann machen soll. Ich kann ja nicht mit minus arbeiten wie zum beispiel so: textName = Found.Offset(0, -7) um in spalte a die Nachnamen rauszusuchen.
Ich hoffe das ist verständlich beschrieben. Ich füge mal den Code dazu. Danke schon mal :)
Private Sub cmdNeueSuche_Click()
Dim Found As Range
Dim LoLetzte As Long
'Dieser funktioniert
If optNachname = True Then
LoLetzte = 65536
If Range("a65536") = "" Then LoLetzte = Range("a65536").End(xlUp).Row
With ActiveSheet.Range("a5:v" & LoLetzte)
Set Found = .Find(formErwSuche.textSuchbegriff, ActiveSheet.Range("a" & LoLetzte), , xlPart, , xlNext)
If Found Is Nothing Then
MsgBox "Es konnte kein Ergebnis erzielt werden"
End If
If Found Is Nothing Then Exit Sub 'falls nicht gefunden wird sub verlassen
textSuchbegriff = Found
'Allgemeiner Bereich
textName = Found.Offset(0, 0)
textVname = Found.Offset(0, 1)
textAnrede = Found.Offset(0, 2)
textEmail = Found.Offset(0, 9)
'Privater Bereich
textPrivatStraße = Found.Offset(0, 3)
textPrivatPLZ = Found.Offset(0, 4)
textPrivatOrt = Found.Offset(0, 5)
textPrivatTelefon = Found.Offset(0, 6)
textPrivatHandy = Found.Offset(0, 7)
textPrivatGebDatum = Found.Offset(0, 8)
textPrivatLand = Found.Offset(0, 10)
textPrivatFax = Found.Offset(0, 11)
'Geschäftlicher Bereich
textGesFirma = Found.Offset(0, 13)
textGesAnsprechpartner = Found.Offset(0, 14)
textGesStraße = Found.Offset(0, 15)
textGesPLZ = Found.Offset(0, 16)
textGesOrt = Found.Offset(0, 17)
textGesTelefon = Found.Offset(0, 18)
textGesHandy = Found.Offset(0, 19)
textGesFax = Found.Offset(0, 20)
textGesWebsite = Found.Offset(0, 21)
textGesLand = Found.Offset(0, 22)
End With
End If
End If
'***************************************************************************
If optGebdatum = True Then
LoLetzte = 65536
If Range("a65536") = "" Then LoLetzte = Range("a65536").End(xlUp).Row
With ActiveSheet.Range("a5:v" & LoLetzte)
Set Found = .Find(formErwSuche.textSuchbegriff, ActiveSheet.Range("i" & LoLetzte), , xlPart, , xlNext)
If Found Is Nothing Then Exit Sub 'falls nicht gefunden wird sub verlassen
textSuchbegriff = Found
'Allgemeiner Bereich
textName = Found.Offset(0, 1)
textVname = Found.Offset(0, 1)
textAnrede = Found.Offset(0, 2)
textEmail = Found.Offset(0, 9)
'Privater Bereich
textPrivatStraße = Found.Offset(0, 3)
textPrivatPLZ = Found.Offset(0, 4)
textPrivatOrt = Found.Offset(0, 5)
textPrivatTelefon = Found.Offset(0, 6)
textPrivatHandy = Found.Offset(0, 7)
textPrivatGebDatum = Found.Offset(0, 8)
textPrivatLand = Found.Offset(0, 10)
textPrivatFax = Found.Offset(0, 11)
'Geschäftlicher Bereich
textGesFirma = Found.Offset(0, 13)
textGesAnsprechpartner = Found.Offset(0, 14)
textGesStraße = Found.Offset(0, 15)
textGesPLZ = Found.Offset(0, 16)
textGesOrt = Found.Offset(0, 17)
textGesTelefon = Found.Offset(0, 18)
textGesHandy = Found.Offset(0, 19)
textGesFax = Found.Offset(0, 20)
textGesWebsite = Found.Offset(0, 21)
textGesLand = Found.Offset(0, 22)
End With
End If
End Sub