Change-Ereignis für viele Blätter/zellen
Reinhard
aufgrund einer Anfrage woanders habe ich jmndm. Code gebastelt, der im Change-Ereignis abprüft of die Änderung in einem von 13 festgelegten Blättern und dort in einer von 10 festgelgten Spalten stattfand.
Noch dazu muß es immer in den Zeilen 98:103 geschehen.
(Änderungen gleichzeitig in mehreren zellen muß ich noch einbauen)
Dazu habe ich die Funktion Check geschrieben. Nach meinen bisherigen Tests funktioniert sie auch richtig.
Nur, sie kommt mir so lang vor, kann man sie kürzen?
Mir fällt dazu nur ein ellenlanger
If Intersect(Target, Range(....)) then
ein, aber der ginge ja auch über zig Zeilen wenn man ihn umbricht.
In "Diese Arbeitsmappe":
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Check(Sh, Target) = True Then Call Auswahl
End Sub
In "Modul1"
Function Check(Sh, Target)
Dim arrBlatt(), B As Integer, S As Integer
Dim arrSpa()
arrBlatt = Array("Gesundheitsförderung", "Ernährung", "Ausscheidung", _
"Aktivität Ruhe", "Perzeption Kognition", "Selbstwahrnehmung", _
"Rolle Beziehungen", "Sexualität", "Coping Stresstoleranz", _
"Lebensprinzipien", "Sicherheit Schutz", "Befinden", "Wachstum Entwicklung")
arrSpa = Array("B", "F", "J", "N", "R", "V", "Z", "AD", "AH", "AL")
For B = LBound(arrBlatt) To UBound(arrBlatt)
If Sh.Name = arrBlatt(B) Then
Check = True
Exit For
End If
Next B
If Check = False Then Exit Function
Check = False
For S = LBound(arrSpa) To UBound(arrSpa)
If Target.Column = Range(arrSpa(S) & "1").Column Then
Check = True
Exit For
End If
Next S
If Check = False Then Exit Function
Check = False
If Target.Row >= 98 And Target.Row
Danke ^ ruß
Reinhard