Code nur für bestimmtes workesheet ausführen
Maris
ich habe diesen Code... er ist dafür bestimmt in einem Tabellenblatt "ABC" dafür zu sorgen, das alle felder ausgefüllt werden, und dann erst die nächste Zeile bearbeitet werden kann. Im VBA editor habe ich ihn auch im ensprechenden Tabellenblatt hinterlegt. Komischerweise wird dieser Code auch ausgeführt wenn ich ihn Tabellenblatt "XYZ" Felder eingebe. Wie kann ich das verhindern und an was leigt das?
Anbei der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngEingabe As Range
Dim sFormel$, lngRow&
'Wirkungsbereich anpassen
Set rngEingabe = Intersect(Range("B4:AN5000"), Target)
'Keine Zelle im Wirkungsbereich?
If Not rngEingabe Is Nothing Then
'Schleife über Eingabebereich
For Each rngEingabe In rngEingabe
If rngEingabe "" Then 'ist Zelle nicht leer
lngRow& = rngEingabe.Row 'Zeile der Zelle für Formel
'Formel zusammenbauen
sFormel$ = "=(LOWER($A" & lngRow& & ")=""x"")*(COUNTA($B" & lngRow& - 1 & ":$AN" & lngRow& - _
1 & ")=39)"
If Not CBool(Evaluate(sFormel)) Then 'Ergebnis der Formel mit Prüfung
Application.EnableEvents = False 'events aus
Application.Undo 'Handeingabe rückgängig
MsgBox "Before you can start editing the next line, Please fill out all cells in _
this row!", vbCritical, "Cancel action" 'Fehlermeldung
Application.EnableEvents = True 'events an
Exit Sub 'aussteigen
End If
End If
Next rngEingabe
End If
End Sub
Vielen Dank für eure Hilfe...Gruß
MAris