Hallo Thorsten,
benutze meinen angepasten Code.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'* H. Ziplies *
'* 28.05.07 *
'* erstellt von Hajo.Ziplies@web.de *
'* http://Hajo-Excel.de/
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("H2:I" & Rows.Count)
' Beispiel für noch mehr Bereiche
' Set RaBereich = Union(Range("A5:A40 , C5:C40 , F5:F40 , J5:J40, C21:AG21 , C27:AE27 , C29: _
AE29, C31:AE31, C33:AE33"), _
' Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49 ,C51:AG51 , C53: _
AG53 , C59:AF59 , C61:AF61 , C63:AF63 , C65:AF65"), _
' Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81 , C83:AG83 , _
C85:AG85 ,C91:AF91 , C93:AF93 , C95:AF95 , C97:AF97"), _
' Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111 , C113:AG113 , C115: _
AG115 , C117:AG117 , C123:AG123 , C125:AG125"), _
' Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139 , C141:AF141 , _
C143:AF143 , C145:AF145 , C147:AF147 , C149:AF149"), _
' Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163 , C165:AG165 , _
C171:AF171 , C173:AF173 , C175:AF175 , C177:AF177 "), _
' Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191 , C193:AG193 , _
C195:AG195 , C197:AG197"))
Set RaBereich = Intersect(RaBereich, Range(Target.Address)) ' nur die Zellen prüfen die _
im überwachten Bereich liegen
If Not RaBereich Is Nothing Then ' falls nicht gefunden wird _
Sub verlassen
For Each RaZelle In RaBereich ' Schleife über die geä _
nderten Zellen des überwachten Bereichs
If IsNumeric(RaZelle) Then ' Zellinhalt ist numerisch
Application.EnableEvents = False ' Reaktion auf Eingabe _
abschalten
If RaZelle.Column = 8 Then
RaZelle.Offset(0, 2) = RaZelle.Offset(0, 2) + RaZelle
Else
RaZelle.Offset(0, 1) = RaZelle.Offset(0, 1) - RaZelle
End If
Application.EnableEvents = True ' Reaktion auf Eingabe _
einschalten
End If
Next RaZelle
End If
Set RaBereich = Nothing ' Variable leeren
End Sub
Gruß Hajo