Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1496to1500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

.findformat Funktion auf Arbeitsblatt beschränken

.findformat Funktion auf Arbeitsblatt beschränken
15.06.2016 12:28:08
NicNac75
Hallo zusammen,
habe eine für Euch vermutlich ganz simple Frage, bei der ich aber leider nicht weiterkomme:
Kann ich die Funktion Application.findformat Funktion irgendwie auf ein einzelnes Tabellenblatt beschränken? Egal was ich versucht habe, die Funktion hat stets Ersetzungen in der gesamten Arbeitsmappe vorgenommen:
Worksheets("Tabelle1").Application.FindFormat.Locked = False
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Würde mich freuen, wenn jemand Rat weiß.
Ganz herzlichen Dank vorab,
NicNac75

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Suchen/Ersetzen im Arbeitsmappe oder Blatt
15.06.2016 13:00:21
Daniel
Hi
du kannst generell SUCHEN und ERSETZEN sowohl auf dem aktuellen Tabellenblatt also auch in der ganzen Datei ausführen lassen.
Dies stellst du im SUCHEN-Dialog in der oberen linken Auswahlbox ein.
bei Suchen und Ersetzen per VBA ist es so, dass immer die Einstellungen der letzten Suche/Ersetzen wiederverwendet werden, wenn du für diese Einstellung im Code keine Angaben machst.
Dummerweise ist es so, dass genau diese Einstellung (Suchen im Blatt oder Arbeitsmappe) nicht per VBA geändert werden kann (zumindest zeichnet der Recorder nichts auf und in der Hilfe ist auch kein entpsrechender Parameter beschrieben).
prüfe also mal von Hand wie die Einstellung im Suchmenü ist und setze ggf die Einstellung "Durchsuchen" auf "Blatt".
wenn du per VBA sicherstellen willst, dass "Blatt" eingestellt ist, dann geht das nicht direkt, weil es hierfür keinen Parameter in VBA gibt (hat MS wohl vergessen).
Der Workaround wäre, per SENDKEYS die manuelle Änderung über die Tastatureingabe zu simulieren:
Application.SendKeys "^f%h{UP}{UP}%{F4}"
wenn du diesen Code testen willst, beachte dass du ihn nicht im Einzelstepmodus testen kannst.
Dann ist nämlich der VBA-Editor aktiv und du rufst dessen Such-Funktion auf und nicht die des Tabellenblatts.
Gruß Daniel

Anzeige
AW: Suchen/Ersetzen im Arbeitsmappe oder Blatt
15.06.2016 13:48:13
NicNac75
Hallo Daniel,
was es so alles gibt (oder nicht gibt)....;-)
Die Ursache scheint tatsächlich zu sein, dass immer die letzte Einstellung genutzt wird. Das ist für meine Zwecke fatal, weil die späteren Anwender das Formular auf Knopfdruck leeren sollen und ich somit keine Einfluss auf vorherige Aktionen/Einstellungen der User habe).
Grundsätzlich habe ich Deinen Vorschlag - nach etwas Lektüre bei MSDN - verstanden. Wenn ich die Tastatureingabe selbst in der Reihenfolge des SENDKEYS-Statements per Hand mache, klappt es auch (STRG-F, ALT-H, 2x Pfeil hoch, ALT-F4).
Habe Deine Code-Zeile vor meine gesetzt. Sehe beim Ausführen auch kurz das Fenster aufflackern. Dennoch tauscht er in allen Blättern aus.
Hast Du noch jemand eine Idee, woran es liegen kann (oder vielleicht sogar eine alternativen Work-around?).
Beste Grüße,
NicNac75

Anzeige
AW: Suchen/Ersetzen im Arbeitsmappe oder Blatt
15.06.2016 16:30:15
Daniel
Hi
wie wäre es, wenn du mal deine Datei hochlädst?
ist wie bei beim Arzt, wenn der Patient auf dem Tisch liegt, stellt sich die Diagnose leichter und zuverlässiger als bei einer telefonischen Beratung
Gruß Daniel

AW: Suchen/Ersetzen im Arbeitsmappe oder Blatt
15.06.2016 16:47:26
NicNac75
Hallo Daniel,
anbei meine Testdatei - die eigentliche Datei kann ich hier leider aufgrund Größe und Inhalt nicht teilen:
https://www.herber.de/bbs/user/106270.xlsm
Damit liegt der Patient auf dem Tisch - ich fürchte nur, dass es nicht viel neues zu sehen gibt ;-)))
Beste Grüße,
NicNac75

Anzeige
AW: Suchen/Ersetzen im Arbeitsmappe oder Blatt
16.06.2016 13:53:04
NicNac75
Hallo zusammen,
gäbe es ggf. noch jemanden mit einer Idee für das geschilderte Problem?
Vielen Dank,
NicNac75

AW: Suchen/Ersetzen im Arbeitsmappe oder Blatt
17.06.2016 16:45:33
Daniel
Hi
füge nach dem Application.Sendkeys noch den Befehl DoEvents ein.
    Application.SendKeys "^f%h{UP}{UP}%{F4}"
DoEvents
Worksheets("Tabelle1").Application.FindFormat.Locked = False
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Bei DoEvents prüft VBA, ob in Excel inzwischen etwas wichtiges passiert ist und reagiert dann entsprechend.
Ansonsten werden Eingaben in Excel die während des Makrolaufs getätigt werden, erst nach dem Durchlauf des Makros verarbeitet oder einfach ingnoriert.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige