Suchfunktion per VBA
27.08.2004 11:47:34
Alex
ich habe ein Problem. Ich habe mir aus dem Archiv ein Macro runtergeladen, welches eine Suchfunktion erzeugt.Das funktioniert auch super, nur wenn ich einen Wert eingebe der in der Tabelle nicht exisitiert erscheint ein Dialogfeld:
Laufzeitfehler 91 (Als nicht VBAler ein nichtselberbehebbares Hindernis :-))
Wie kann ich es anstellen das wenn ein Suchbegriff eingegeben wird der nicht existiert nur eine Fehlermeldung kommt wie z.B. der gesuchte Wert ist nicht in der Liste.
Nicht aber dieses Dialogfeld erscheint.
Ich kann leider kein VBA aber ich hoffe das Problem einigermaßen beschrieben zu haben.
Hier ist der Code
'DieseArbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DeleteSearchBar
End Sub
Private Sub Workbook_Open()
CreateSearchBar
End Sub
'allgemeines Modul
Sub CreateSearchBar()
'Menüleiste mit Textfeld und Button zum Suchen
Dim oBar As CommandBar
Dim oCombo As CommandBarControl
Dim oBtn As CommandBarButton
DeleteSearchBar
With Application.CommandBars.Add(Name:="Suchen")
.Visible = True
.Position = msoBarTop
Set oCombo = .Controls.Add(Type:=msoControlEdit, temporary:=True)
Set oBtn = .Controls.Add(Type:=msoControlButton, temporary:=True)
End With
With oCombo
.OnAction = "Search"
.Width = 150
End With
With oBtn
.Caption = "Suchen"
.OnAction = "Search"
.Style = msoButtonIconAndCaption
.FaceId = 141
End With
End Sub
Sub Search()
Dim strSrch As String
strSrch = Application.CommandBars("Suchen").Controls(1).Text
If strSrch = "" Then Exit Sub
Cells.Find(What:=strSrch, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False).Activate
End Sub
Sub DeleteSearchBar()
On Error Resume Next
Application.CommandBars("Suchen").Delete
End Sub
Vielen Dank für jegliche Hilfe
Alex