Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

in der Menüleiste ein Suchfeld integrieren !





Frage

Hallo Supportnet-Gemeinde ! Ich mal wieder mit ner kleinen Frage: Möchte meine selbst generierte Menüleiste in Excel um ein Suchfeld erweitern (so alla "Goggle-Toolbar" Suchfeld. Das Feld soll eigendlicht nichts anderes tun als dort die eingegebene Zeichenfolge im aktuellen Blatt finden und anspringen ! Ist so etwas machbar ? Und wenn nicht wie sieht es dann aus mit einem "Suchbutton" der ein eigenes (gestaltetes) "Suchfenster" öffnet (eben so wie STRG-F). Gruß und noch schönens arbeiten Volker

Antwort 1 von Hajo_Zi

Hallo Volker,

Suchfeld in Symbolleiste 2007

Gruß hajo

Antwort 2 von korfuweb

Hallo Hajo !
Was ich suche ist eigentlich eine Art "Menü" Button - deine ZIP Datei versteh ich jetzt mal rein gar nicht !
Gruß Volker

Antwort 3 von fedjo

Hallo Volker,
vielleicht sucht du ja so was:

Option Explicit
Sub Suchen() 'Begriff wird nur einmal gesucht
Dim SSearch As String
Dim ws As Worksheet
Dim c
Dim firstAddress As String
Dim secAddress
Dim GFound As Boolean
SSearch = InputBox("Suchen nach:", "Suchen in allen Tabellen", SSearch)
If SSearch = "" Then
End
End If
For Each ws In Worksheets
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
ws.Select
c.Select
Do
GoTo ende
Loop While Not c Is Nothing And secAddress <> firstAddress And c.Address <> firstAddress
Else
End If
End With
Next ws
ende:
If GFound = False Then
MsgBox "Suchwert nicht gefunden "
End If
End Sub

Das Makro in deiner Menüleiste hinterlegen.

Gruß
fedjo

Antwort 4 von korfuweb

Ja eigentlich schon, aber er soll nicht in der ersten Tabelle mit der Suche beginnen, sondern einfach im momentan aktiven Blatt!

Gruß Volker

Antwort 5 von fedjo

Hallo Volker,
gesucht wird im aktiven Tabellenblatt.

Gruß fedjo

Option Explicit
Sub Suchen() 'Begriff wird nur einmal gesucht
Dim SSearch As String
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
Else
End If
End With
If GFound = False Then
MsgBox "Suchwert nicht gefunden "
End If
End Sub

Antwort 6 von korfuweb

Perfekt !
Hast du vieleicht noch einen Tip wie er das gesuchte - makiert darstellt?

Vielen Dank hast mir echt geholfen!
Gruß Volker

Antwort 7 von Hajo_Zi

Hallo Volker,

vesuch es doch mal mit auspacken. Da ist eine sehr ausführliche Beschreibung drin.

Gruß Hajo

Antwort 8 von korfuweb

Naja ehrlich gesagt verstehe ich bei der Readme-Datei nur Bahnhof und ansonsten ist keine Beschreibung dabei!
Gruß Volker

Antwort 9 von Hajo_Zi

Hallo Volker,

es sind 5 Dateien enthalten
2 x DOCX (dies sind die Beschreibungen ind Word 2007)
1x TXT
2x XLSM Excel Datei für 2007

Gruß Hajo

Antwort 10 von fedjo

Hallo Volker,
der gesuchte Begriff wir gelb.

Gruß fedjo

Option Explicit
Sub Suchen() 'Begriff wird nur einmal gesucht
Dim SSearch As String
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
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Else
End If
End With
If GFound = False Then
MsgBox "Suchwert nicht gefunden "
End If
End Sub

Antwort 11 von korfuweb

Ja nicht immer ;-)
Ist die Zelle geschützt wird da nix draus mit Gelb - ist die Zelle nicht geschützt bleibt Sie gelb !

Aber hab schon dutzend dieser Makros ausprobiert - hacken alle irgendwie.
Es würde doch schon reichen wen man einfach den Original ECXEL Rahmen der aktiven Zelle in "Knall-Rot" darstellen könnte. Das das Excel nicht anbietet versteh ich eigentlich nicht !

Trotzdem danke für die Super Hilfe!

@Hajo
hab hier im Geschäft nur Excel 2000 und 2003 drauf - schau es mir zu Hause mal genauer an ;-)

Gruß Volker

Antwort 12 von Hajo_Zi

Hallo Volker,

Bitte gib Deine verwendete Excelversion bei Fragen an. Es ist doch so, dass das Programm, über das wir uns hier unterhalten, in allen Versionen den Namen Excel hat. Aber Microsoft wäre kein gutes Unternehmen, wenn es in den einzelnen Versionen keine Weiterentwicklung geben würde. Das hat aber zur Folge, dass in den neueren Versionen Funktionalitäten vorhanden sind, die es in den Vorgängerversionen noch nicht gab. Die Oberfläche in 2007 sieht außerdem total anders aus als in den Vorgängerversionen, wodurch sich die Beschreibung für das Vorgehen komplett unterscheidet.
Die Angabe Deiner Version im Beitrag ist für beide Seiten von Vorteil: Du erhältst eine genau auf deine Version zugeschnittene Antwort und die Helfer wissen sofort, auf welche Version sie sich in ihrer Antwort beziehen müssen.

Gruß Hajo

Antwort 13 von korfuweb

Sind wir doch mal ehrlich - wer arbeitet wirklich mit der total überladenen und total neu gestalteten office 2007 Version.
Ich verstehe Dich schon, die hat bestimmt ein paar super neuerungen.
Aber die Versionen ab 2000-XP sind doch die meist genutzen.
Ok werde in Zukunft darauf achten das ich die Version mit angebe, haste schon recht ! Ihr macht euch echt Mühe mit euren Hilfestellungen und dann haut es eventuell nicht mit den Versionen hin.

Volker

Antwort 14 von fedjo

Hallo Volker,
Blattschutz wird aufgehoben und wieder geschützt.
Sheets("Tabelle1").Unprotect "JF" ' Kennwort "JF" ändern.
Gruß fedjo

Option Explicit
Sub Suchen() 'Begriff wird nur einmal gesucht
Sheets("Tabelle1").Unprotect "JF" ' Schutz wird aufgehoben
Dim SSearch As String
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
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
Else
End If
End With
If GFound = False Then
MsgBox "Suchwert nicht gefunden "
End If
Sheets("Tabelle1").Protect "JF" ' Tabelle wird geschützt
End Sub

Makro in die jeweilige Tabelle eintragen.
Nach dem auswählen einer Zelle wird die Farbe gelöscht.
Kennwort ändern!

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect "JF"
Cells.Interior.ColorIndex = xlNone
ActiveSheet.Protect "JF"
End Sub

Antwort 15 von korfuweb

@fedjo
Hallo, bräuchte noch nen kleinen Tip bezüglich des Suchbuttons:
Kann man den so modifizieren das nicht nur die Möglichkeit des "suchen" sondern auch des "weitersuchen" innerhalb der Seite möglich ist?
Gruß Volker

Antwort 16 von fedjo

Hallo Volker,
habe den Code geändert.
Gruß fedjo

Option Explicit
Sub Suchen()
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