Anzeige
Archiv - Navigation
864to868
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
864to868
864to868
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile löschen verhindern

Zeile löschen verhindern
04.05.2007 09:47:00
Ben
Guten Morgen Forum
Habe im Archiv folgenden Code gefunden, um das Löschen von Zeilen zu verhindern:

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 6)  "Testeintrag" Then Application.Undo
End Sub


Nun meine simple Frage, da ich noch immer ein VBA-Greenhorn bin: Ich möchte Zeile 1 bis Zeile 45 schützten, indem ich in Spalte F bei diesen Zeilen jeweils "Testeintrag" reinschreibe und die Spalte ausblende. Dazu muss ich ja nicht die 2. Zeile des Codes 45 mal kopieren. Man muss wohl eine Schlaufe definieren, aber wie muss diese definiert sein?
Danke und Gruss
Ben

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen verhindern
04.05.2007 10:04:00
Jürgen
Hallo Ben
versuch es mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row 


Gruß
Jürgen

AW: Zeile löschen verhindern
04.05.2007 10:41:24
Ben
Hallo Jürgen
Dein Code führt dazu, dass man bis Zeile 45 nichts mehr eingeben kann. Eingaben müssen aber möglich sein, nur soll man die Zeile nicht löschen können.
Mir schwebt etwas vor wie

Private Sub Worksheet_Change(ByVal Target As Range)
Dim z As Integer
z = Rows(1, 45)
If Cells(z, 6)  "Testeintrag" Then Application.Undo
End Sub


Kriege es aber mit der Syntax nicht richtig hin.
Gruss
Ben

Anzeige
AW: Zeile löschen verhindern
04.05.2007 10:44:29
Jürgen
Hallo Ben,
kleiner Zusatz in Zeile 2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row 


Gruß
Jürgen

AW: Zeile löschen verhindern
04.05.2007 11:04:36
Ben
Hallo Jürgen
Dein Code verhindert nicht, dass man Zeilen löschen kann.
Mir geht es eigentlich nur darum, wie ich die Schleife definieren muss, denn der Code funktioniert. Beispiel: Mit folgendem Code kann man die ersten 5 Zeilen nicht löschen, falls in Spalte F jeweils "Testeintrag" steht:

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 6)  "Testeintrag" Then Application.Undo
If Cells(2, 6)  "Testeintrag" Then Application.Undo
If Cells(3, 6)  "Testeintrag" Then Application.Undo
If Cells(4, 6)  "Testeintrag" Then Application.Undo
If Cells(5, 6)  "Testeintrag" Then Application.Undo
End Sub


Das lässt sich aber mit einer Schleife eleganter lösen, da bin ich mir sicher. Nur, wie muss diese genau definiert sein?
Gruss
Ben

Anzeige
AW: Zeile löschen verhindern
04.05.2007 11:41:00
Jürgen
Hallo Ben,
hier Deine Schleife:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i as Integer
For i = 1 To 45
If Cells(i, 6)  "Testeintrag" Then Application.Undo
Next i
End Sub


Gruß
Jürgen

AW: Zeile löschen verhindern
04.05.2007 12:01:00
Ben
Hi Jürgen
Herzlichen Dank.
Jetzt funktionierts bestens.
Gruss
Ben

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige