Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
480to484
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
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro mit anderem Makro an- ausschalten

Makro mit anderem Makro an- ausschalten
10.09.2004 09:22:47
Marcl
Hallo zusammen,
ich habe in einem Blatt folgendes Makro stehen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 1 And (Target.Column < 5 Or Target.Column > 29) Then Exit Sub
If Target.Value <> "x" Then
If Target.Value <> "" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End Sub

Funktioniert super. Aber wenn ich mittels anderem Makro den Blattinhalt löschen möchte,
Range("E7:AC56").ClearContents
bekomme ich eine Fehlermeldung.(Fehler 13 Typen unverträglich).
Kann ich die Meldung beim Löschen umgehen oder obriges Makro für das Löschen deaktivieren und dann wieder aktivieren?
Bin für jede Hilfe dankbar
Gruß
Marcl

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit anderem Makro an- ausschalten
harry
hi,
versuchs mal so:
in der allgemeinen daklaration eine boolsche variable definieren, zb löschen
die sub worksheet change in die if-bedingung
if löschen=false
setzen.
in der sub, in der du löschen möchtest:
löschen=true
Range("E7:AC56").ClearContents
löschen =false
liebe grüße,
harry
Undo im Makro - nur letzte Benutzeraktion
Beate
Hallo Marci,
die Excel-Hilfe sagt zur Undo Methode:
"Es wird immer nur die letzte Benutzeraktion rückgängig gemacht. Diese Zeile muss die erste Zeile im Makro sein."
Da du aber schon aus dem ersten Makro das zweite Makro aufgerufen hast, ist es ja die zweite Benutzeraktion. Da sehe ich das Problem.
Nepumuk empfahl mir letztens in einem anderen Thread einen interessanten Link zu Limitationen von Undo:
http://195.186.84.74/xlimits/speicher.htm#Der%20Undo-Speicher
Gruß,
Beate
Anzeige
Fehler gefunden
Beate
Hallo Marci,
es geht doch in eine andere Richtung:
1. Zeile Worksheet_Change Makro greift in den Löschbereich des anderen Makros.
Das Worksheet_Change muss wie folgt lauten:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 1 Or Target.Column < 5 Or Target.Column > 29 Then Exit Sub
If Target.Value <> "x" Then
If Target.Value <> "" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
End Sub

Ich hatte es im Beispiel ausgetestet, Datei anbei:
https://www.herber.de/bbs/user/10741.xls
Gruß,
Beate
Anzeige
Danke Euch beiden o.T.
Marcl
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige