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

Makro bricht in geschützter Mappe ab. Warum??

Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 11:10:00
Holger
Hallo Leute,
ich habe folgendes Makro:

Sub newLEG()
' newLEG Makro
' Makro am 05.05.2008 von   aufgezeichnet
Range("SCHED").Select
Selection.Copy
Range("EINFUEGEMARKE").Select
Selection.Insert Shift:=xlDown
Range( _
"C28,C30,C31,C32,C33,C34,E35,G35,I35,K35,C36:K36,C37,E37:G37,I37:K37,C38,E38:G38,I38: _
K38,C39:K39" _
).Select
Range("C39").Activate
Application.CutCopyMode = False
Selection.ClearContents
Range("C37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
Range("E37:G37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
Range("I37:K37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
End Sub


Es bewirkt das Kopieren, Einfügen und Bearbeiten von einem ganzen Zellenblock.
Es funktioniert absolut perfekt in einer nicht geschützten Arbeitsmappe. Um die Arbeitsmappe schneller zu machen in der Anwendung, das heißt, ich will nur, dass man mit der Tabulatortaste von einer Zelle zur nächsten springen kann, will ich die Mappe schützen. Erlaubt sei dem Endnutzer NUR das Bearbeiten ungeschützter Zellen (also auf die man mit TAB springen kann). Funktioniert auch einwandfrei. Problem ist aber: wenn ich die Arbeitsmappe / das Blatt wirklich mit Extras --> Schutz schütze, dann bricht das Makro ab! Fehlermeldung:
Laufzeitfehler '1004': Die Insert-Methode des Range-Objektes konnte nicht ausgeführt werden.
Auch das Erlauben von Zeilen einfügen in den Schutzoptionen bringt nix.
Frage: Warum?
mfg Holger

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

Betreff
Datum
Anwender
Anzeige
AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 11:19:00
Hajo_Zi
Hallo Holger,
Excel ist ein vielseitiges Programm und man kann viele Probleme damit lösen. Jede positive Seite hat aber auch negative Aspekte - einer davon ist im Makrorecorder enthalten.
Die Bücher, die es zu Excel VBA gibt, erklären viele Funktionen, aber ich habe bisher nur in einem gelesen, dass der vom Makrorecorder aufgezeichnete Code bereinigt werden muss.
Der Makrorecorder zeichnet alle Aktionen auf, u. a. auch das Auswählen einer Zelle oder eines eingebetteten Objektes (Bild, Diagramm, Zeichnungsobjekt usw.) – dabei wird generell Select und Activate aufgezeichnet. Diese Befehle sind in VBA zu 99,9% nicht notwendig. Sie lassen den Bildschirm flackern und senken die Geschwindigkeit bei der Ausführung des Codes. Man sollte also schon von Beginn an bei der Programmierung darauf achten, solche Befehle zu vermeiden. Meine Erfahrung mit dem Vorsatz: „Das mache ich später“ ist, man schreibt das Programm später meist komplett neu. Also kostest es nicht nur Rechnerzeit sondern auch Deine Zeit und ist Dir Deine Zeit so wenig Wert?
Zum Vergleich mit und ohne Select schau Dir auch mal diese Beispielarbeitsmappe an: mit und ohne select
Auf meiner Homepage sind alle meine Beispiele ohne Select. Da kann man sich also einige Lösungsansätze zu diesem Thema ansehen.
Hebe den Schutz im Makro auf und setze ihn wieder.

Anzeige
AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 11:40:41
Holger
Hallo, wenn ich .select lösche bricht das Makro ab. Ich weiss net was ich löschen soll. Wie soll das Makro denn endgültig aussehen? und warum soll ich den schutz aufheben und wieder setzen? oder soll das makro den schutz aufheben und sich selbst wieder setzen? lg hr

AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 11:44:00
Hajo_Zi
Hallo Holger,
das Makro soll den schutz aufheben.
Nicht select löschen sondern den Code umschreiben. aus
Range("C39").Activate
Application.CutCopyMode = False
Selection.ClearContents
wird
Range("C39").Activate.ClearContents
usw.
Gruß Hajo

Anzeige
AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 14:17:47
Holger
Hallo, das Makro sieht jetzt so aus:

Sub newLEG()
' newLEG Makro
' Makro am 05.05.2008 von   aufgezeichnet
Range("SCHED").Select
Selection.Copy
Range("EINFUEGEMARKE").Select
Selection.Insert Shift:=xlDown
Range( _
"C28,C30,C31,C32,C33,C34,E35,G35,I35,K35,C36:K36,C37,E37:G37,I37:K37,C38,E38:G38,I38: _
K38,C39:K39" _
).Select
Range("C39").Activate.ClearContents
Application.CutCopyMode = False
Selection.ClearContents
Range("C37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
Range("E37:G37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
Range("I37:K37").Select
ActiveCell.FormulaR1C1 = "=R[-13]C"
End Sub


der laufzeitfehler tritt bei arbeitsblatt schutz weiters auf. hr

Anzeige
AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 14:35:00
Hajo_Zi
Hallo Holger,
mir scheint Du hast den falschen Code gepostet. Den Text "arbeitsblatt schutz weiters " konnte ich nicht finden. Der Schutz wurde in dem Makro auch nicht aufgehoben.
Gruß Hajo

AW: Makro bricht in geschützter Mappe ab. Warum?
06.05.2008 15:58:00
Jens
Hallo Holger
Vielleicht so?

Sub newLEG()
ActiveSheet.Unprotect "DeinPasswort"
[Sched].Copy
[Einfuegemarke].Insert (xlDown)
Range("C28,C30:C34,E35,G35,I35,K35,C36:K36,C37,E37:G37,I37:K37,C38,E38:G38,I38:K38,C39:K39") _
.ClearContents
Application.CutCopyMode = False
Range("C37").FormulaR1C1 = "=R[-13]C"
Range("E37:G37").FormulaR1C1 = "=R[-13]C"
Range("I37:K37").FormulaR1C1 = "=R[-13]C"
ActiveSheet.Protect "DeinPasswort"
End Sub


Gruß aus dem Sauerland
Jens

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige