in einem Excel Blatt würde ich gerne alternativ einen Prozentsatz oder einen Betrag für einen Rabat auf einen Artikel eintragen. Wenn ich den Prozentsatz verwende soll der Betrag aktualisiert werden, wenn ich den Betrag ändere soll der Prozentsatz aktualisiert werden. Beides sind jedoch Eingabefelder. Wenn ich also in B1 bin UND einen Wert ändere soll der Prozentsatz in C1 geändert werden und umgekehrt. Beispiel in A1 steht 100 als Artikelpreis. Trage ich nun in B1 30 ein und verlasse die Zelle soll in C1 30% errechnet werden. Gehe ich jedoch in C1 und trage dort 40% ein so soll in B1 nun 40 stehen. In den Zellen darf also keine Formel stehen da diese ja immer überschrieben wird.
Mit der unten aufgeführten Routine komme ich in eine Endlosschleife... Die Makros BIP und PIB kopieren die in 2 weiteren Zellen errechneten Werte für Rabat und Prozent in B1 und C1.
Würde mich freuen wenn mir jemand eine Lösung aufzeigt.
Vielen Dank
Christian
(P.S. ist meine erster Code den ich aus Foren zusammengetragener habe, habe also wirklich keine Ahnung von VB!! Habe das letze mal vor 25 Jahren in Pascal programmiert...)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCellsFixB As Range
Dim KeyCellsFixP As Range
Set KeyCellsFixB = Range("s15:s70")
Set KeyCellsFixP = Range("t15:t70")
If Not Application.Intersect(KeyCellsFixB, Range(Target.Address)) _
Is Nothing Then
BIP
End If
If Not Application.Intersect(KeyCellsFixP, Range(Target.Address))
Is Nothing Then
PIB
End If
End Sub