Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zeilen löschen verhindern

129 views
Skip to first unread message

Matthias

unread,
Sep 14, 2006, 2:53:01 AM9/14/06
to
Guten Tag!

Wie kann ich mittels VBA verhindern, dass Zeilen gelöscht bzw. eingefügt
werden.
Vielen Dank schon mal!

Matthias

Marco

unread,
Sep 14, 2006, 3:22:17 AM9/14/06
to
Hallo Matthias,

Hast du schonmal an den Blattschutz gedacht?

Den kann man bestimmt auch per VBA aktivieren.

Gruss

Marco

Matthias schrieb:

Matthias

unread,
Sep 14, 2006, 5:36:01 AM9/14/06
to
Hi Marcus,
okay, ich werd meine Frage konkretisieren. Ich möchte verhindern, dass
komplette Zeilen gelöscht bzw. eingefügt werden. Zellen dürfen
eingefügt/gelöscht werden, dies hab ich auch schon in VBA umgesetzt.

Kann man nicht einfach den Befehl "Zeilen löschen", "Zeilen einfügen" aus
der Menü- und Symbolleiste verbannen oder deaktivieren ?

Matthias


"Marco" schrieb:

Wolfgang Habernoll

unread,
Sep 14, 2006, 7:22:47 AM9/14/06
to
Hallo Matthias

eine Möglichkeit wäre es mit UNDO, versuche mal mit dem Code im
entsprechenden Tabellenblatt. Es ist für XL in deutsch Test ->"Zellen
löschen" usw ggf anpassen.

Private Sub Worksheet_Change(ByVal Target As Range)

If Mid(Application.CommandBars(1).FindControl(ID:=128, _
Recursive:=True).Caption, 14, 16) = "Zellen löschen" Or _
Mid(Application.CommandBars(1).FindControl(ID:=128, _
Recursive:=True).Caption, 14, 16) = "Zellen einfügen" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If

End Sub

mfG
Wolfgang Habernoll

Marco

unread,
Sep 14, 2006, 7:38:26 AM9/14/06
to
Hallo Matthias,


schau dir mal die Hilfe in VBA zu den Boolean-variablen

allowdeletingrows
allowinsertingrows
allowdeletingcolumns
allowinsertingcolumns

an, sowie die Protect-Methode.

Ich hoffe es hilft dir etwas weiter. Die Beispiele sind da nicht
schlecht, denke ich.

Gruss

Marco

Matthias schrieb:

stefan onken

unread,
Sep 14, 2006, 8:59:50 AM9/14/06
to
hallo Matthias,

> Kann man nicht einfach den Befehl "Zeilen löschen", "Zeilen einfügen" aus
> der Menü- und Symbolleiste verbannen oder deaktivieren ?

With Application.CommandBars(1)
.Controls("Bearbeiten").Controls("Zellen löschen...").Enabled = False
.Controls("Einfügen").Controls("Zeilen").Enabled = False
End With

die Kontextmenüs der Zeilen/Spaltenüberschriften sind mit
CommandBars("Row") bzw "Column" ansprechbar.
Wichtig! Beim beenden der Datei bzw beim Wechsel in eine andere Datei
die Werte wieder auf True setzen, Excel merkt sich die Einstellungen.

Bei Bedarf kannt du anstatt Enabled mit OnAction eine eigenes Makro
starten, zB eine MsgBox, dass das löschen/einfügen nicht erlaubt ist.
Auch hierbei unbedingt das zurücksetzen beachten (OnAction ="")!

Gruß
stefan

0 new messages