Suchfeld leeren
#1
Hallo Leute,

ich öffne über 

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

meinen Such-Dialog. Oder eben per Klick in die Menüleiste.  

Das funktioniert auch beides super, aber komischerweise steht (egal auf welchem Weg ich das öffne) jedesmal schon ein Wert im Suchfeld, den ich aber nur einmal vor Wochen gesucht habe.


Ich möchte gerne, dass sich der Dialog ganz normal mit einem leeren Suchfeld startet.

Wo speichert Excel sowas (ehemalige Suchbegriffe) ab, bzw. mit welchem Code kann ich das beheben?


Danke und Gruß
Micha
Antworten Top
#2
Hi,

Für Suchen / Ersetzen werden stets alle Angaben intern gespeichert und automatisch bei der nächsten Anwendung "geladen".
Das gilt nicht nur für den Suchwert, sondern auch für alle anderen Parameter. Daher ist es auch so wichtig, dass man bei der Verwendung der Find-Methode stets ALLE Parameter mit angibt, was einer der häufigsten Fehler ist, die dann hier im Forum zu erstaunten Rückfragen führen.
Ein kompletter "Reset" ist daher m.W. nach nicht möglich, da es keine "Standardeinstellungen" in dem Dialog gibt.
Aber natürlich lasse ich mich auch gerne eines Besseren belehren.
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • junjor
Antworten Top
#3
(25.02.2022, 17:40){Boris} schrieb: Aber natürlich lasse ich mich auch gerne eines Besseren belehren.
Würde ich ja wirklich gerne, Boris! Wink
Ich suche mir gerade einen heißen.

Zunächst mal gibt es ja eine Application.Dialogs-Enumeration.
Dazu gibt es eine Liste der integrierten Dialogfeldargumente
Wenn ich jetzt den Namen des verfluchten Strg+f - Dialogs kennen würde, wäre die Übergabe eines Leerstrings "" ja theoretisch kein Problem.
xlDialogFind oder Search gibbet nicht …

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • junjor
Antworten Top
#4
Hi Ralf,


Zitat:xlDialogFind oder Search gibbet nicht …

Es gibt aber xlDialogFormulaReplace. Kommst Du damit weiter?

Ja, das hier sollte passen:

Application.Dialogs(xlDialogFormulaReplace).Show ""
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • junjor
Antworten Top
#5
Ein Wenig, Danke!  19
Application.Dialogs(xlDialogFormulaReplace).Show "", ""

Off topic, oder auch nicht:
Ein super Beispiel, wie zweimal gesundes Halbwissen zu einer Lösung findet!
Findet man eher selten in Foren!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • junjor
Antworten Top
#6
Hi,

xlDialogFormulaReplace ist aber der alte Dialog, mit dem z.B. keine Suche in der ganzen Mappe möglich ist. Undecided

Gehen würde es z.B. mit SendKeys, aber da wird auch nur das Feld geleert, aber nicht die Liste.

Application.SendKeys "{DEL}^f"

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • junjor
Antworten Top
#7
Hi Ralf,


Zitat:Ein super Beispiel, wie zweimal gesundes Halbwissen zu einer Lösung findet!
Findet man eher selten in Foren!


Ja - so soll es bestenfalls sein! Smile Dann mal bis zum nächsten "2-mal_halb=1-mal-ganz" Wink
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • junjor
Antworten Top
#8
puh, ich dachte das wäre einfacher zu lösen....  aber das nehme ich sportlich, ist ja nicht lebensnotwendig.

(die Methode mit den sendkeys öffnet zwar auch das richtige Dialogfeld bei mir, aber löscht trotzdem nicht das Suchfeld.  Und der replace-dialog öffnet leider das falsche Suchfenster)


Dennoch vielen Dank für die vielen schnellen Antworten !!   28
Antworten Top
#9
(25.02.2022, 18:55)junjor schrieb: (die Methode mit den sendkeys öffnet zwar auch das richtige Dialogfeld bei mir, aber löscht trotzdem nicht das Suchfeld...)

Das darf nicht aus dem VBA-Editor heraus gestartet werden!

Gruß Uwe
Antworten Top
#10
Hallöchen,

oder auch

Cells.Find what:=""

?
(In Anlehnung an {Boris} und Ralf)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste