Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1840to1844
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
Inhaltsverzeichnis

Autoaktion bei Löschen ausschließen

Autoaktion bei Löschen ausschließen
27.07.2021 03:23:15
Nubi
Hallo zusammen!
Ich möchte gerne eine Aktion ausführen, wenn bestimmte Zellen geändert werden.
Also so etwas:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("EL32:EL44")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
'Eine Aktion
End If
End Sub
Ich möchte jedoch, dass diese Aktion nur ausgeführt wird, wenn etwas im Zielbereich eingetragen wird.
Wird lediglich der Inhalt Gelöscht, soll nichts passieren.
Jemand eine Idee?
Besten Dank!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autoaktion bei Löschen ausschließen
27.07.2021 05:22:24
Hajo_Zi

Dim RaBereich As Range                          ' Variable für Bereich
Dim RaZelle As Range                            ' Variable für Zelle
Set RaBereich = Range("L22:M39, O21:O26")       ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' Union 30 Argumente zu je 255 Zeichen
' ab Vesion XP braucht der Schutz nicht aufgehoben werden
' Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
' Zelle die in dem Bereich liegen auf die Variable schreiben
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Target)
If Not RaBereich Is Nothing Then
'ActiveSheet.Unprotect ("Passwort")
Denke dran die Reaktion auf Eingabe abzuschalten und am Ende wieder ein.
Application.EnableEvents = False
GrußformelHomepage
Anzeige
AW: Autoaktion bei Löschen ausschließen
27.07.2021 07:16:19
Nepumuk
Hallo,
teste mal:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRange As Range, objCell As Range
Set objRange = Intersect(Range("EL32:EL44"), Target)
If Not objRange Is Nothing Then
Application.EnableEvents = False
For Each objCell In objRange
If Not IsEmpty(objCell.Value) Then
'Eine Aktion
End If
Next
Set objRange = Nothing
Application.EnableEvents = True
End If
End Sub
Gruß
Nepumuk
AW: Autoaktion bei Löschen ausschließen
29.07.2021 08:52:33
Nubi
Vielen Dank, klappt!
AW: Autoaktion bei Löschen ausschließen
27.07.2021 12:57:44
Daniel
Hi
zähle mit Anzahl2, wieviele der veränderten Zellen Inhalte haben.
wurde was gelöscht, sollte idie Anzahl 0 sein:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("EL32:EL44")
If Not Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
if Worksheetfunction.CountA(Target) = 0 Then
'Eine Aktion
end if
End If
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige