Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Benutzerdefinierte Fehlermeldungen + Excel

Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 12:52:58
Daniel
Hallo nochmal,

nachdem mir jetzt auf meine Letzte Frage so gut geholfen worden ist, ist mir auch gleich die 2. gekommen:

Kann man es mit VBA realisieren, das man benutzerdefinierte Fehlermeldungen in Excel anzeigen lassen kann. Ich möchte die "Blattschutz Information(Fehlermeldung)" abfangen, und stattdessen meinen eigenen Text anzeigen lassen. z.b.: In der Form:

Zum Ändern der geschützen Zelle, bitte F6 drücken...

(Auf F6 liegt ein Code, der den Schutz kurz aufhebt und dann den Wert ändert)

Leider habe ich jetzt keine Ahnung wie ich da überhaupt anfangen soll...

Mfg Daniel

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 13:06:04
Manuel
Hallo.

Um eingene Fehlermeldungen in Subs zu erzeugen gehst Du wie folgt vor:

Zuerst sagst Du VBA mit dem Befehl -> On Error Goto Sprungmarke <-.
Wenn dann ein Fehler Auftritt springt VBA zu dieser Sprungmarke.
Alternativ gibt es auch noch -> On Error Reume Next <-, damit wird die Fehlerhafte Zeile einfach ignoriert.

Diese Einstellungen gelten bis sie durch eine andere "on-Error"-Zeile überschrieben werden, bzw. bis Du sie mit -> On Error Goto 0 <- wieder löschst...
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 13:10:14
Daniel
Leider erzeuge ich die Abfrage nicht in einer Sub

Die Fehlermeldung bzw das Infofenster das Excel mit Zeigt (Zellschutz) ist Excel-Intern (nehme ich doch mal an) und nicht einen eigenen VBA Code erzeugt.
Und genau diese Meldung will ich eben "abfangen" und ersetzen.

Mfg

Daniel
Anzeige
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 13:10:40
Manuel
Habe mich vertippt, muss eigentlich -> On Error Resume Next <- heissen...
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 14:09:52
th.heinrich
hallo Daniel,

stehe in VBA zwar auf der nach oben offenen Herberskala im negativen bereich ;-)

probiers mal mit Application.DisplayAlerts = False und gebe Deine warnung mittels Msgbox aus.
am ende des MAKROS wieder auf TRUE setzen.

gruss thomas

ps. bereits vorhandener CODE kann nicht schaden.
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 14:37:28
Daniel
Hmm, die Fehlermeldungen global Abzuschlalten ist ne möglichkeit, nur wie sage ich Excel jetzt, bringe mir meine eigene Fehlermeldung und nicht die Standartmeldung

Dazu bräuchte ich doch so ne art Fehlercode den ich Abfragen/ Abfangen könnte.

Habe aber deinen Tip trotzdem mal ausprobiert, und Application.DisplayAlerts = False in
Diese Arbeitsmappe unter der Funktion: Private Sub Workbook_Activate()
abgelegt.

Nach erneutem öffnen der Arbeitsmappe hatte ich aber die Meldungen immenoch.

In dem Sinne sind es ja auch keine Richtigen Fehlermeldungen, eher ein Hinweis.

Mfg

Daniel
Anzeige
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 15:41:03
th.heinrich
hi Daniel,

war nur ne anregung, weil ich beim lesen im Forum oefters daraufgestossen bin.

vielleicht kommst Du ueber GOOGLE weiter. diesen suchbegriff eingeben.

"Fehlermeldung unterdrücken" site:www.herber.de

kannst Du natuerlich noch variieren.

gruss thomas

ps. und wie schon gesagt: vorhandenen CODE posten kann nicht schaden.
AW: Benutzerdefinierte Fehlermeldungen + Excel
02.10.2003 18:02:18
Matthias G
Hallo Daniel,
die Blattschutz-Meldung kannst Du nicht unterdrücken, es sei denn, Du verzichtest auf den Blattschutz und fängst Änderungen mit dem Change-Ereignis ab:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox "Änderungen nicht möglich! F6 drücken!"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub

Alle Änderungen über Makro (z.B. mit deiner F6-Taste) müssten dann mit Application.EnableEvents = False eingeleitet und mit Application.EnableEvents = True abgeschlossen werden.
Der Verzicht auf den Blattschutz hat aber einige Nachteile, die Du nur mit einigem Aufwand abwenden kannst:
Änderung der Zellhöhe/Spaltenbreite, unerwünschtem Formatieren von Text, Manuellem Abschalten der Events (im Direktfenster "Application.EnableEvents = False" eingeben und dein Schutz ist weg),...
Es kommt darauf an, wie sicher das Ganze sein soll.

Grundsätzlich geht das mit der Gültigkeitsabfrage im Change-Ereignis aber meiner Ansicht nach recht komfortabel: Du kannst Änderungen je nach Benutzer oder anderer Parameter zulassen, korrigieren oder unterdrücken, ganz nach belieben.
Wichtig ist noch, vor dem Speichern den Blattschutz zu setzen, und mit der Workbook_Open-Prozedur wieder zu entfernen, so kann ein Benutzer, der die Makros deaktiviert hat, keine Veränderungen vornehmen.

Ich habe einen ganzes Dienstplanprogramm geschrieben und auf den Blattschutz verzichtet, das funktioniert recht gut. Und jede falsche/unerlaubte Eingabe bekommt seine eigene Fehlermeldung.

Viele Grüße,
Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)