2k Aufrufe
Gefragt in Tabellenkalkulation von korfuweb Mitglied (949 Punkte)
Hallo Supportgemeinde!

Mal wieder ne kleine Excel Frage:

Also habe mir eine eigene „Buttonleiste in Excel erstellt – diese enthält auch einen Suchbutton der wie folgt funtioniert:

Sub ASuchen()
Dim GWeiter As Boolean
Dim SSearch As String
Dim firstAddress As String
Dim secAddress
Dim c
Dim GFound As Boolean
SSearch = InputBox("Suchen nach:", SSearch)
If SSearch = "" Then
End
End If
With Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
c.Select
firstAddress = c.Address
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
Do
Set c = .FindNext(c)
secAddress = c.Address
If c.Address = firstAddress Then
Exit Do
End If
c.Select
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbNo Then
GWeiter = True
GoTo ende
End If
Loop While Not c Is Nothing And secAddress <> firstAddress And c.Address <> firstAddress
Else
GWeiter = True
GoTo ende
End If
End If
End With
ende:
If GFound = False Then
MsgBox "Suchwert nicht gefunden "
Else
If GWeiter = False Then
MsgBox "Kein Suchwert mehr vorhanden"
End If
End If
End Sub

Funktioniert soweit auch gut – nun aber meine eigentliche Frage:

Würde den Button gerne gegen ein „Suchfeld“ tauschen – geht das ?

Danke für eure Hilfe

Gruß Volker

5 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Volker,

meinst Du
Application.CommandBars.FindControl(ID:=1849).Execute

Gruß Hajo
0 Punkte
Beantwortet von korfuweb Mitglied (949 Punkte)
Hallo Hajo,

würde deinen Vorschlag gerne probieren - allerdings ist mir nicht ganz klar, wo und wie ich den Syntax einbinden muss damit er in der Menüleiste erscheint !
Danke für deine Hilfe
Volker
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Volker,

in der Menüleiste machst Du einen Button und ordnest ihm diese Zeile zu. Dann geht der Suchdialog auf.

Gruß Hajo
0 Punkte
Beantwortet von korfuweb Mitglied (949 Punkte)
UPs - falschen Button gedrückt !

Also so ganz gelöst hat es mein Problem noch nicht !

Und zwar geht ja nun wieder ein Suchfenster auf!
Wollte aber eigentlich nur in der Buttenleiste ein direktes Suchfeld.

Ist das überhaupt machbar?
Gruß
Volker
0 Punkte
Beantwortet von coros Experte (4k Punkte)
HAllo Volker,

füge aus der Symbolleiste "Steuerelement/Toolbox ein Textfeld in Dein Tabellenblatt und füge in das VBA-Projekt des Tabellenblatt nachfolgenden Code ein:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then Call ASuchen
End Sub
Das beweirkt, dass nachdem ein Text eingetragen und die Enter-Taste betätigt wurde, das Makro "ASuchen" ausgeführt wird.

In Deinem Makro änderst Du die Zeile

SSearch = InputBox("Suchen nach:", SSearch)in

SSearch = Sheets("Blattname in dem sich die TextBox befindet").TextBox1 Den Text "Blattname in dem sich die TextBox befindet" musst Du logischerweise gegen Deinen Tabellenblattnamen tauschen.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
...