Target Zeile bei Calculate Ereignis bestimmen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Target Zeile bei Calculate Ereignis bestimmen
von: Sven
Geschrieben am: 16.09.2015 14:46:16

Hallo Zusammen,
ich suche nach einer Lösung für folgendes Problem, für das ich leider nicht den richtigen Ansatz finde.
Mal als Beispiel: Ich habe in der Zelle V21 die Differenz aus T21 und U21. T21 ist ein festgelegter Wert, U21 ist die Summe aus 12 Zellen in der gleichen Zeile. In Spalte V geht dieses Prinzip bis Zeile 140 (also V140 = T140 - U140)
Was ich möchte ist, dass wenn ein Wert in Spalte V größer 10.000 oder kleiner -10.000 wird, eine InputBox auftaucht, in der man eine Begründung für die Entstehung des Wertes angeben muss. Diese Begründung soll dann in der Zeile in der die Zelle mit dem erreichten Wert liegt in beispielsweise Spalte X erscheinen.
Also wenn Zelle T55 größer 10.000 dann Begründung über InputBox in Zelle X55.
Die Frage die sich mir dabei grundsätzlich stellt ist, wie bestimme ich beim worksheet_calculate event die zeile in der sich eine Zelle verändert hat?!
Danke und beste Grüße
Sven

Bild

Betrifft: AW: Target Zeile bei Calculate Ereignis bestimmen
von: ChrisL
Geschrieben am: 16.09.2015 14:55:20
Hi Sven
M.E. müsstest du das Change Ereignis für die variablen Zellen anwenden und in VBA "nachrechnen". Leider steht nicht, woraus genau die Summe in U besteht resp. Beispieldatei ist immer gut.
cu
Chris

Bild

Betrifft: AW: Target Zeile bei Calculate Ereignis bestimmen
von: Sven
Geschrieben am: 16.09.2015 15:57:11
Hi Chris,
ich habe mal versucht eine Beispiel-Datei anzuhängen, ich hoffe sie hilft...
https://www.herber.de/bbs/user/100228.xlsx

Bild

Betrifft: AW: Target Zeile bei Calculate Ereignis bestimmen
von: ChrisL
Geschrieben am: 16.09.2015 16:08:40
Hi Sven
Etwa so...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 20 And Target.Column <= 34 Then
    If WorksheetFunction.Sum(Range(Cells(Target.Row, 23), Cells(Target.Row, 34))) _
    - Cells(Target.Row, 20) < -20000 Then _
    Cells(Target.Row, 35) = InputBox("Bemerkung eingeben", "Dein Titel")
End If
End Sub
cu
Chris

Bild

Betrifft: AW: Target Zeile bei Calculate Ereignis bestimmen
von: Sven
Geschrieben am: 17.09.2015 09:07:45
Hallo Chris,
besten Dank, funktioniert!
Hast du zufällig eine Idee, wie ich integrieren kann, dass wenn schon ein Kommentar in der Zeller vorhanden ist, man nicht erneut bei einder Änderung zur Eingabe aufgefordert wird?

Bild

Betrifft: AW: Target Zeile bei Calculate Ereignis bestimmen
von: ChrisL
Geschrieben am: 17.09.2015 11:52:41
Hi Sven

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column >= 20 And Target.Column <= 34 Then
     If WorksheetFunction.Sum(Range(Cells(Target.Row, 23), Cells(Target.Row, 34))) _
     - Cells(Target.Row, 20) < -20000 And Cells(Target.Row, 35) = "" Then _
     Cells(Target.Row, 35) = InputBox("Bemerkung eingeben", "Dein Titel")
End If
End Sub
cu
Chris

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Target Zeile bei Calculate Ereignis bestimmen"