Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1832to1836
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Macro ausführen komplexer Berechnung

Macro ausführen komplexer Berechnung
27.05.2021 15:20:01
Horst
Hallo,
ich habe ein Sheet in dem sich die Farbe eines Doppelpfeil ändern soll, wenn der Wert in der Zelle C5 sich ändert. Der Wert des Feldes ist aber Ergebnis einer komplexen Berechnung. Die Farbe soll sich auch ändern wenn der Wert in Zelle C15 sich ändert, das ebenfalls in die Berechnung mit einfließt. Ich bekomme das Macro leider nicht zum laufen. Wenn jemand eine Lösung hat, wäre ich sehr dankbar. Datei ist hier zu finden https://www.herber.de/bbs/user/146404.xlsm
Horst

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macro ausführen komplexer Berechnung
27.05.2021 15:34:03
peterk
Hallo

If Not (Intersect(Target, Range("C5,C14,C15")) Is Nothing) Then
Peter
AW: Macro ausführen komplexer Berechnung
27.05.2021 15:55:01
Horst
An welcher Stelle muss ich die Zeile einfügen?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("C5,C14,C15") Then    'Wert steht in A1
ActiveSheet.Shapes("Pfeil nach oben und unten 3").Select    'Freeform 1 ist der Name der Freihandform
With Selection
.ShapeRange.Fill.ForeColor.SchemeColor = fctFarbe(Target.Value)
End With
Target.Select
End If
' Hier für eine weitere Form
If Target = Range("C6,C14,C15") Then    'Wert steht in A2
ActiveSheet.Shapes("Pfeil nach oben und unten 4").Select    'Freeform 2 ist der Name der Freihandform
With Selection
.ShapeRange.Fill.ForeColor.SchemeColor = fctFarbe(Target.Value)
End With
Target.Select
End If
End Sub

Private Function fctFarbe(dblWert As Double) As Byte
Select Case dblWert
Case Is >= 5        'Werte und Relationen anpassen
fctFarbe = 10   'Farbwerte entsprechend ändern
Case Is >= 4
fctFarbe = 11
Case Is >= 3
fctFarbe = 4
Case Is >= 2
fctFarbe = 5
Case Is >= 1
fctFarbe = 6
Case Else
fctFarbe = 9
End Select
End Function

Anzeige
AW: Macro ausführen komplexer Berechnung
27.05.2021 16:02:13
Horst
Vielen DAnk Peter, hat super geklappt
AW: Macro ausführen komplexer Berechnung
27.05.2021 15:59:45
Horst
Hallo Peter,
vielen DAnk. war ja so einfach. :-)
AW: Macro ausführen komplexer Berechnung
27.05.2021 16:13:11
Horst
Sorry, doch nicht ganz was ich wollte. Jetzt wird bei der Änderung eines Feldes bei beiden Doppelpfeilen die Farbe gleich geändert.
AW: Macro ausführen komplexer Berechnung
27.05.2021 16:42:13
Daniel
HI
da der Zellwert von eine komplexen Berechnung abhängt, ist das Change_Event nicht sinnvoll, da es nicht reagiert, wenn sich ein Zelle mit Formel aufgrund einer Neuberechnung ändert.
Change nimmt man dann, wenn man eine Bestimmte Zelle auf manuelle Änderung durch den Anwender überwachen will.
verwende hier besser Calculate

Private Sub Worksheet_Calculate()
Me.Shapes("Pfeil nach oben und unten 3").Fill.ForeColor.SchemeColor = fctFarbe(Range("C5"))
Me.Shapes("Pfeil nach oben und unten 4").Fill.ForeColor.SchemeColor = fctFarbe(Range("C6"))
End Sub
Private Function fctFarbe(dblWert As Double) As Byte
Select Case dblWert
Case Is >= 5        'Werte und Relationen anpassen
fctFarbe = 10   'Farbwerte entsprechend ändern
Case Is >= 4
fctFarbe = 11
Case Is >= 3
fctFarbe = 4
Case Is >= 2
fctFarbe = 5
Case Is >= 1
fctFarbe = 6
Case Else
fctFarbe = 9
End Select
End Function

Anzeige
AW: Macro ausführen komplexer Berechnung
28.05.2021 09:30:57
Horst
Vielen Dank Daniel. Jetzt komme ich weiter :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige