ich drehe mich abermals im Kreis.
Möchte in verschiedenen Dateien, jeweils in einem Tabellenblatt mit variierenden Namen, innerhalb von gleichen im Namens-Manager definierten einfachen Zell-Bereichen wie 'Abteilung' = '=Tabelle1!$A$2:$A$199' oder 'Anforderer' = '=Tabelle1!$L$2:$L$199' oder weitere eine genau auf diese Namens-Bereiche eingeschränkte Suche durchführen. Scheitert derzeit immer an mangelnder Objekt-Kenntnis;-)
folgendes Code-Schnipsel bringt die Fehlermeldung: Laufzeitfehler 91 Objektvariable oder With-Blockvariable nicht festgelegt
Private Sub cmdSucheStarten_Click()
Dim SuchSpalte As String
Dim SuchString As String
Dim SuchRange As Object
Dim SuchZeile As Integer
Dim msg
Dim Antwort As Integer
'--- Variable 'SuchSpalte' erhält Wert (String) aus 'ComboBox1'-Auswahl ---
SuchSpalte = ComboBox1.Value
'--- Variable 'SuchString' erhält Wert (String) aus TextBox 'SuchString' ---
SuchString = Me.SuchString.Value
Application.Goto Reference:=SuchSpalte
With Selection
SuchZeile = .Find(What:=SuchString, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:= _
xlByRows).Row
End With
Do While SuchZeile = 0
If SuchZeile = 0 Then ' If SuchZeile Is Nothing Then '
Beep
msg = "Suchbegriff nicht gefunden!" & Chr(10) & _
Chr(10) & _
"Wiederholen:" & Chr(10) & _
" Bitte neuen Suchbegriff eintragen und die" & _
" Suche mit Klick auf Button 'Suche starten!'" & _
" bestätigen." & _
"Abbrechen:" & Chr(10) & _
" Beendet die Suche und ruft zuvor gezeigten Datensatz auf!"
Antwort = MsgBox(msg, vbRetryCancel + vbExclamation, "Suche fehlgeschlagen!")
Select Case Antwort
Case 2 ' Antwort = 'Cancel' > Suche abbrechen!
Exit Do
Case 4 ' Antwort = 'Retry' > Suche fortsetzen!
'--- leert alten Suchbegriff aus voriger 'TextBox' für neue Suche! ---
Me.SuchString.Value = ""
End Select
End If
Loop
AktuelleDatenZeile = SuchZeile ' Variable in folgenden Sub-Aufrufen
TxtBxnFuellenBasis ' Sub-Aufruf
TxtBxnFuellenPlan ' Sub-Aufruf
Me.ComboBox1.Clear
End Sub
Die derzeitige Problem-Zeile ist folgende:
SuchZeile = .Find(What:=SuchString, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows).Row
Eigentlich möchte ich im gesamten Code ohne Select auskommen!
Wer hat hierzu einen Tipp!
Meinen herzlichen Dank im Voraus!
Gruß
Frank