Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew, vOld As Variant
Dim iRow As Integer
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
vNew = Target.Value
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Application.Undo
vOld = Target.Value
Target.Value = vNew
With Worksheets("Tabelle2")
.Activate
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A1:A" & iRow).Select
Selection.Find(What:=Target.Value, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False).Activate
plA = .Cells(ActiveCell.Row, 2).Value
plB = .Cells(ActiveCell.Row, 3).Value
plC = .Cells(ActiveCell.Row, 4).Value
End With
Range("A3").Value = plA
Range("A4").Value = plB
Range("A5").Value = plC
ERRORHANDLER:
Application.EnableEvents = True
End Sub
Bis hierher ist mir noch alles klar.
Jetzt möchte ich jedoch, dass wenn die Zelle B1 verändert wird, dass dieser neue Wert als Multiplikator dient. D.h. Die Referenzwerte aus A3, A4 u. A5 sollen mit dem eingegeben Wert in B1 multipliziert werden. Und das Ergebnis soll wieder in die gleichen Zellen geschrieben werden. (e.g. A3 = A3 * B1)
Mein Problem:
Ich kann zwar in die Worksheet_Change-Eigenschaft beim Punkt "Intersect(Target, Range(BEREICH))" für den Bereich "A1:B1" setzten, aber dann behandelt er beide Zellen mit gleicher Aufgabe. Was bedeuten würde, dass er den Wert der Zelle B1 auch in der Tabelle2 suchen würde.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Mit freundlichen Grüßen
Richard