Application.Dialogs(xlDialogFormulaReplace)
12.11.2003 08:09:21
Martin Glarner
Der folgende Code verhindert, dass beim suchen ersetzten nicht für jede Aenderung ein einzelnen Event ausgelöst wird, sondern erst ganz am Schluss, werden die Werte des Register geprüft.
Das ganze funktioniert eigentlich ohne Problme, doch gestern wurde plötzlich
statt nur in der Markierung, im ganzen Register gesucht und ersetzt!!!
Meine ganzen Daten wurde überschrieben!!! (hatte noch eine etwas ältere Datensicherung)
Kennt jemand eine besere Lösung um zu verhindern, dass mehrere Event ausgelöst werden?
Handelt es sich um einen Bug?
Für Eure Hilfe bin ich Euch sehr dankbar
Gruss Martin
Sub Tastaturabk_ein()
' Tastaturabkürzungen einschalten (25.10.2003)
' Dialog für Suchen/Ersetzen anpassen
Application.OnKey "^h", "Dialog_Ersetzen"
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("&Ersetzen...").OnAction = "Dialog_Ersetzen"
End Sub
Sub Tastaturabk_aus()
' Tastaturabkürzungen ausschalten (25.10.2003)
' Dialog für Suchen/Ersetzen wieder auf Standard
Application.OnKey "^h"
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("&Ersetzen...").Reset
End Sub
Sub Dialog_Ersetzen()
' Dialog für Suchen/Ersetzen ohne Event aufrufen (26.10.2003)
' Events sperren
Application.EnableEvents = False
' Excel Standarddialog für Suchen/Ersetzen aufrufen
Application.Dialogs(xlDialogFormulaReplace).Show
' Events wieder freigeben
Application.EnableEvents = True
' Makro prüft diverse Daten nach suchen/ersetzen
Call Register_prüfen_berechnen
End Sub