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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

