Supportnet / Forum / Tabellenkalkulation
Exel Suchfunktion im Hintergrund?
Frage
Hallo,
ich habe folgendes Problem:
Kann man das fenster von der suchfunktion in exel geöffnet lassen und gleichzeitig in der tabelle was ändern? wenn das geht, bitte erklären wie.
Ich bin hier fast am verzweifeln, immer muss ich das suchfenster wieder schließen und dann wieder öffnen, das dauert alles zu lange.
Da ich meistens nach artikelnummern suche und dafür dann die Preise ändern will ist das ziemlich umständlich wenn die suchfunktion immer im vordergrund steht und man sie immer erst schliesen muss bevor man was ändern kann.
Wäre echt super wenn mir jemand helfen könnte.
Mfg
Antwort 1 von nighty
hi sven :-)
vielleicht so :-))
gruss nighty
eine beliebige zelle wird zur eingabe der suchfunktion
suchbegriff in einer beliebigen zelle eingeben mit sprung dorthin bei fund
einzufuegen
alt + f11/projektexplorer/DeineTabelle
der bereich der zu durchsuchenden zellen wäre anzupassen
der suchbegriff ist zweideutig
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Cells(Target.Row, Target.Column)).Activate
End Sub
vielleicht so :-))
gruss nighty
eine beliebige zelle wird zur eingabe der suchfunktion
suchbegriff in einer beliebigen zelle eingeben mit sprung dorthin bei fund
einzufuegen
alt + f11/projektexplorer/DeineTabelle
der bereich der zu durchsuchenden zellen wäre anzupassen
der suchbegriff ist zweideutig
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Cells(Target.Row, Target.Column)).Activate
End Sub
Antwort 2 von Pistenschreck
Hallo Sven
Nachfolgender Code in ein Modul einfügen.
Weise dem Code eine Tastenkombination zu.
Mit dieser Kombination bekommst Du eine Inputbox, die Dich fragt, nach was Du suchen möchtest.
Sub SUCHEN()
On Error GoTo FINI
SUCH = InputBox(Prompt:="Was suchst Du ?:")
Range("A1").Select
Cells.Find(What:=(SUCH), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
FINI:
End Sub
Gruss Werner
Nachfolgender Code in ein Modul einfügen.
Weise dem Code eine Tastenkombination zu.
Mit dieser Kombination bekommst Du eine Inputbox, die Dich fragt, nach was Du suchen möchtest.
Sub SUCHEN()
On Error GoTo FINI
SUCH = InputBox(Prompt:="Was suchst Du ?:")
Range("A1").Select
Cells.Find(What:=(SUCH), After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
FINI:
End Sub
Gruss Werner
Antwort 3 von Sven-Chris
bitte mal etwas genauer erklären, ich kenn mich noch nicht so gut damit aus. wenns nicht zu umständlich ist schritt für schritt.
Mfg sven
Mfg sven
Antwort 4 von nighty
hi sven :-)
noch ein wenig korrigiert :-))
gruss nighty
1) alt +f11 öffnet den vbeditor
2) aus der icon reihe projektexplorer anwählen
nun ist links ein fenster aufgegangen
3)in diesem fenster DeineTabelle anwählen und den code dort einfuegen
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim Lager As String
Lager = Cells(Target.Row, Target.Column)
Cells(Target.Row, Target.Column) = ""
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Lager).Activate
Application.EnableEvents = True
End Sub
noch ein wenig korrigiert :-))
gruss nighty
1) alt +f11 öffnet den vbeditor
2) aus der icon reihe projektexplorer anwählen
nun ist links ein fenster aufgegangen
3)in diesem fenster DeineTabelle anwählen und den code dort einfuegen
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim Lager As String
Lager = Cells(Target.Row, Target.Column)
Cells(Target.Row, Target.Column) = ""
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Lager).Activate
Application.EnableEvents = True
End Sub
Antwort 5 von Pistenschreck
Hallo Swen
Meine Version!
Ein Beispiel hier:
http://www.netupload.de/detail.php?img=829b6ed8baa16f6b2e34e8de0f1e...
Gruss Werner
Meine Version!
Ein Beispiel hier:
http://www.netupload.de/detail.php?img=829b6ed8baa16f6b2e34e8de0f1e...
Gruss Werner
Antwort 6 von Sven-Chris
Okay, das mit dem Makro ist schon ganz gut erklärt, DANKE!
Aber es Funktioniert irgendwie nicht. Gibt es eventuell eine andere möglichkeit?
Aber es Funktioniert irgendwie nicht. Gibt es eventuell eine andere möglichkeit?
Antwort 7 von Pistenschreck
Hallo Sven
Ohne Makros:
Ctrl + F (öffnet die Suchbox)
Alt + W (Weitersuchen)
Alt + F4 (Schliesst die Suchbox)
Gruss Werner
Ohne Makros:
Ctrl + F (öffnet die Suchbox)
Alt + W (Weitersuchen)
Alt + F4 (Schliesst die Suchbox)
Gruss Werner
Antwort 8 von Sven-Chris
Hallo,
ich meinte eugentlich eine andere einfache möglichkeit.
weil so muss ich das suchfenster ja immer auf und zu machen und das ist ganz schön umständlich, kann man das nicht irgendwie einstellen das das suchfenster geöffnet bleibt und man in der tabelle trotzdem was bearbeiten kann??? das muss doch irgendwie gehen...
Mfg sven
ich meinte eugentlich eine andere einfache möglichkeit.
weil so muss ich das suchfenster ja immer auf und zu machen und das ist ganz schön umständlich, kann man das nicht irgendwie einstellen das das suchfenster geöffnet bleibt und man in der tabelle trotzdem was bearbeiten kann??? das muss doch irgendwie gehen...
Mfg sven
Antwort 9 von nighty
hi sven :-)
meine lösung vereinfacht den vorgang,wodurch jede beliebige zelle zur eingabe maske wird :-)
musst du nur richtig einfuegen,wie oben beschrieben ist
gruss nighty
meine lösung vereinfacht den vorgang,wodurch jede beliebige zelle zur eingabe maske wird :-)
musst du nur richtig einfuegen,wie oben beschrieben ist
gruss nighty
Antwort 10 von Sven-Chris
alles klar, hab es jetzt hinbekommen.
Danke an alle!!!
Mfg sven
Danke an alle!!!
Mfg sven
Antwort 11 von nighty
hi sven :-)
der bereich der eingabe sollte angepasst werden
in dieser zeile dann
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Lager).Activate
statt
"A1" & ":IV" & Rows.Count
z.b.
eine spalte fuer die eingabe
"A:A"
gruss nighty
der bereich der eingabe sollte angepasst werden
in dieser zeile dann
ActiveSheet.Range("A1" & ":IV" & Rows.Count).Find(Lager).Activate
statt
"A1" & ":IV" & Rows.Count
z.b.
eine spalte fuer die eingabe
"A:A"
gruss nighty