Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Prüfen ob Blattschutz, dann in Zelle schreiben.
#1
Hi,

warum habe ich so ein Problem ("nicht genügend Stapelspeicher" oder Excel schmiert gleich ganz ab), seit ich den If-Block zwischen VON HIER bis BIS HIER eingefügt habe?

excelhafte Grüße
Uweverursacht


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rngZelle As Range
   Dim r As Long                   ' Target.Row
   r = Target.Row
   If r >= 5 Then
       If Not Intersect(Target, Columns(2)) Is Nothing Then
           If Target.Cells(1) <> "" Then
               Application.EnableEvents = False
               For Each rngZelle In Target
                   If Not Intersect(rngZelle, Columns(2)) Is Nothing Then
                       If rngZelle.Offset(0, -1) = "" Then rngZelle.Offset(0, -1) = Now
                   End If
               Next rngZelle
               Application.EnableEvents = True
           End If
       End If
   End If
----->VON HIER    
   If ActiveSheet.ProtectContents = True Then
       Cells(1, 12).Value = "Kein Blattschutz gesetzt"
       Else
       Cells(1, 12).Value = ""
   End If
----->BIS HIER    
   If ToggleButton1.Caption = "Eingabe" Then
   If Not Intersect(Range("A5:A1048576"), Target) Is Nothing Then Target.Offset(0, 1).Select
   If Not Intersect(Range("B5:B1048576"), Target) Is Nothing Then Target.Offset(0, 1).Select
   If Not Intersect(Range("C5:C1048576"), Target) Is Nothing Then Target.Offset(1, -1).Select
   End If
   
End Sub
Antworten Top
#2
Hallo,

schalt mal die Ereignisse aus

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rngZelle As Range
   Dim r As Long                   ' Target.Row
   r = Target.Row
   If r >= 5 Then
       If Not Intersect(Target, Columns(2)) Is Nothing Then
           If Target.Cells(1) <> "" Then
               Application.EnableEvents = False
               For Each rngZelle In Target
                   If Not Intersect(rngZelle, Columns(2)) Is Nothing Then
                       If rngZelle.Offset(0, -1) = "" Then rngZelle.Offset(0, -1) = Now
                   End If
               Next rngZelle
               Application.EnableEvents = True
           End If
       End If
   End If
----->VON HIER
   Application.EnableEvents = False
   If ActiveSheet.ProtectContents = True Then
       Cells(1, 12).Value = "Kein Blattschutz gesetzt"
       Else
       Cells(1, 12).Value = ""
   End If
   Application.EnableEvents = True
----->BIS HIER
   If ToggleButton1.Caption = "Eingabe" Then
   If Not Intersect(Range("A5:A1048576"), Target) Is Nothing Then Target.Offset(0, 1).Select
   If Not Intersect(Range("B5:B1048576"), Target) Is Nothing Then Target.Offset(0, 1).Select
   If Not Intersect(Range("C5:C1048576"), Target) Is Nothing Then Target.Offset(1, -1).Select
   End If
  
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Ich dachte, ich hätte das probiert. Irgendwas war wohl verkehrt. Danke!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste