Code bei Zellenäderung (Excel02)

08/12/2008 - 17:12 von Oliver Hohl | Report spam
Hallo Newsgroup

Ich bin ein VB-Newbie und habe hier einen Code erhalten, welchen ich
angepasst habe und funktioniert. Jetzt benötige ich diesen Code in einer
neuen Tabelle und mit Ergànzung:
Die Zelle D16 hat entweder ja oder nein. Wenn ja, dann der Inhalt der 4
Zeilen oberhalb gelöscht werden (Spalte D&E verbunden) und auch auf
"Schreibgeschützt" gesetzt werden.
Wenn nein, dann sollen die Zellen frei editierbar sein.

Hier mein Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("D16")) Is Nothing _
Then Exit Sub
If Target.Address(0, 0) = "D16" Then
Target.Offset(-1, 0).ClearContents
Target.Offset(-2, 0).ClearContents
Target.Offset(-3, 0).ClearContents
Target.Offset(-4, 0).ClearContents
End If
End Sub

Das ist mein Code (ohne die Neuerung Zellen sperren/entsperren). Leider
"motzt" Excel, dass ich die Zellen verbunden habe.

Kann mir jemand helfen, wie ich den Code anpassen muss?

Vielen Dank und viele Grüsse
Oliver Hohl
 

Lesen sie die antworten

#1 Claus Busch
08/12/2008 - 17:38 | Warnen spam
Hallo Oliver,

Am Mon, 8 Dec 2008 08:12:01 -0800 schrieb Oliver Hohl:

Die Zelle D16 hat entweder ja oder nein. Wenn ja, dann der Inhalt der 4
Zeilen oberhalb gelöscht werden (Spalte D&E verbunden) und auch auf
"Schreibgeschützt" gesetzt werden.
Wenn nein, dann sollen die Zellen frei editierbar sein.



probiers mal so für deine verbundenen Zellen:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer

If Target.Address(0, 0) <> "D16" Then Exit Sub

If Target = "ja" Then
For i = -4 To -1
Target.Offset(i, 0).MergeArea.ClearContents
Next
End If

End Sub


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP1
Office 2003 SP3 / 2007 Ultimate SP1

Ähnliche fragen