Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mehrere Change Event beim suchen/ersetzen

mehrere Change Event beim suchen/ersetzen
26.10.2003 10:39:03
Martin Glarner
Hallo
In meiner Exceldatei wird auf das Change_Event das ganze Register überprüft und neu berechnet. Je nach Anzahl der vorhanden Zeilen, kann dass bis zu 5 Sek. dauern.
Wenn nun mit suchen/ersetzen Text in mehreren Zellen geändert wird, löst dies jedesmal ein Change_Event aus. Wenn also 20 Werte geändert werden, wird die Berechnung 20x5s dauern.

Kann man verhindern, dass das Change_Event mehrmals ausgelöst wird?
Kann der Standarddialog für das Suchen/Ersetzen (Ctrl+H) aus einem Script aufgerufen werden, damit zuvor die Event unterdrückt werden können?
Muss ich selber eine Routine für das Suchen/Ersetzen schreiben?

Besten Dank für Eure Tips
Gruss Martin

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Change Event beim suchen/ersetzen
26.10.2003 10:59:18
Josef Ehrensberger
Hallo martin,

schreib an den beginn deines makros

Application.EnableEvents = False

und am ende

Application.EnableEvents = True

dann sollte es klappen.

Gruß Sepp
AW: mehrere Change Event beim suchen/ersetzen
26.10.2003 11:03:38
Hajo_Zi
Hallo Sepp

ich glaube da hast Du was überlesen, er ruft die Suche mit Strg+H auf, nicht mit einem Makro.

Ich habe dafür auch keine Lösung, bzw. nur kompliziert.

Mit Doppelklick eine Variable auf True oder False setzen und im Change ereignis den Wert abfragen.

Das würde aber bedeuten das er vor und nach dem Suchen ein Doppelklick in de Tabelle macht.

Bitte keine Mail, Probleme sollten im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.


Anzeige
AW: mehrere Change Event beim suchen/ersetzen
26.10.2003 11:16:34
Reinhard
Hi Martin,
in Tabelle1:

Private Sub Worksheet_Change(ByVal Target As Range)
If Worksheets("Tabelle2").Range("iv1") = "x" Then Exit Sub
MsgBox "Change"
End Sub


in ein Modul:
Sub Ersetzen()
Worksheets("Tabelle2").Range("iv1") = "x"
dlgAnswer = Application.Dialogs(xlDialogFormulaReplace).Show
Worksheets("Tabelle2").Range("iv1") = ""
End Sub

Gruß
Reinhard
ps: geht sicher auch mit ner statischen Variablen die geprüft wird anstatt ner Zelle
Standardmenü für Suchen und Ersetzen anpassen
26.10.2003 16:38:55
Martin Glarner
Hallo Reinhard
Ich habe Deinen Vorschlag getestet und es funktioniert wurderbar. Genau das habe ich gesucht.
Ich musste den Dialog für Suchen auch noch schreiben, da in diesem Dialog auf Ersetzen umgeschaltet werden kann. Diese beiden Routinen rufe ich über die Tastaturabkürzungen auf:


Sub Tasten()
Application.OnKey "^h", "Dialog_Ersetzen"
Application.OnKey "^f", "Dialog_suchen"
End Sub



Sub Dialog_suchen()
' Events sperren
Application.EnableEvents = False
' Excel Standarddialog für Suchen aufrufen
Application.Dialogs(xlDialogFormulaFind).Show
' Events wieder freigeben
Application.EnableEvents = True
End Sub



Sub Dialog_Ersetzen()
' Events sperren
Application.EnableEvents = False
' Excel Standarddialog für Suchen/Ersetzen aufrufen
Application.Dialogs(xlDialogFormulaReplace).Show
' Events wieder freigeben
Application.EnableEvents = True
End Sub

Damit das ganze noch perfekt wird, möchte ich die Standardmenüs für Suchen und Ersetzen anpassen. Ich möchte gerne die OnAction auf meine beiden Makros anpassen.
Weiss jemand wie man das macht?

Besten Dank
Gruss Martin
Anzeige
Noch offen
26.10.2003 17:14:58
Reinhard
Hallo Martin,
danke für die Rückmeldung.
Was genau meinst du mit:

::Damit das ganze noch perfekt wird, möchte ich die Standardmenüs für Suchen und Ersetzen
::anpassen. Ich möchte gerne die OnAction auf meine beiden Makros anpassen.
::Weiss jemand wie man das macht?

Gruß
Reinhard
AW: Noch offen
26.10.2003 17:19:06
Martin Glarner
Hallo Reinhard
Ich habe mit viel Glück den richtigen Code gefunden und es funktioniert nun perfekt.
Mit diesen Befehlen sollte der Benutzer eigentlich keine Möglichkeit mehr haben,
den normalen Dialog aufzurufen.


Sub Standardmenü_anpassen()
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("&Suchen...").OnAction = "Dialog_suchen"
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("&Ersetzen...").OnAction = "Dialog_Ersetzen"
End Sub


Nochmals besten Dank für die Nachfrage und super Hilfe
Gruss Martin
Anzeige
Nicht mehr offen
26.10.2003 17:32:39
Reinhard
Hi Martin,
jetzt hab ichs verstanden was du meintest :-)
Gruß
Reinhard
AW: mehrere Change Event beim suchen/ersetzen
26.10.2003 12:11:15
Martin Glarner
Hallo zusammen
Besten Dank für Eure Tips, ich werde diese Heute Abend testen
Gruss Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige