Thema Datum  Von Nutzer Rating
Antwort
22.06.2023 12:19:42 Gast2206
NotSolved
22.06.2023 12:59:16 UweD
NotSolved
Rot Funktion ohne Schaltfläche ablaufen lassen
22.06.2023 13:49:45 xlKing
NotSolved
22.06.2023 13:56:36 xlKing
NotSolved
22.06.2023 15:02:10 Gast2206
NotSolved
23.06.2023 13:56:06 Gast2206
NotSolved
23.06.2023 14:44:50 Gast15772
NotSolved
23.06.2023 15:42:10 Bernd
NotSolved
23.06.2023 16:29:18 xlKing
NotSolved
26.06.2023 07:25:23 Gast2206
NotSolved
27.06.2023 08:39:41 Gast2206
NotSolved
28.06.2023 22:55:18 xlKing
NotSolved
29.06.2023 14:01:55 Gast2206
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
22.06.2023 13:49:45
Views:
707
Rating: Antwort:
  Ja
Thema:
Funktion ohne Schaltfläche ablaufen lassen

Hallo,

Du solltest in jedem Fall Uwes Tipp mit der Bedingten Formatierung beherzigen. In den allermeisten Fällen sparst du dir so die VBA-Codierung. Es gibt aber auch Fälle, wo die Bedingte Formatierung versagt. z.B. weil deine Daten so umfangreich sind, dass Excel ewig für die Berechnung braucht. Auch wird dann grafisch nicht immer alles angezeigt. Das passiert aber erst wenn du zigtausend Datenzeilen hast. In diesem Fall ist eine VBA-Lösung besser.

Ja das geht auch ohne Buttonklick. Schau dir mal das Worksheet_Change-Ereignis an. Das löst aus, sobald du eine Eingabe in eine beliebige Zelle machst. In welche Zelle du die Eingabe gemacht hast wird im Parameter Target übergeben. Um Zeit bei der Bearbeitung zu sparen, solltest du die Prüfung und Färbung nur für diese eine Target-Zelle machen.

Ungetestet könnte der Code etwa so aussehen. Dieser Code gehört in das Tabellenmodul, welches die Daten enthält.

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 9 Then 'Eingabe in Spalte I
    sngAbweichung = (Target.Value - Target.Offset(0, -2).Value) / Target.Offset(0, -2).Value * 100
    If Abs(sngAbweichung) >= 10 Then Target.Font.Color = vbRed
  ElseIf Target.Column = 7 Then 'Eingabe in Spalte G
    sngAbweichung = (Target.Offset(0, 2).Value - Target.Value) / Target.Value * 100
    If Abs(sngAbweichung) >= 10 Then Target.Offset(0, 2).Font.Color = vbRed
  End If
End Sub

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.06.2023 12:19:42 Gast2206
NotSolved
22.06.2023 12:59:16 UweD
NotSolved
Rot Funktion ohne Schaltfläche ablaufen lassen
22.06.2023 13:49:45 xlKing
NotSolved
22.06.2023 13:56:36 xlKing
NotSolved
22.06.2023 15:02:10 Gast2206
NotSolved
23.06.2023 13:56:06 Gast2206
NotSolved
23.06.2023 14:44:50 Gast15772
NotSolved
23.06.2023 15:42:10 Bernd
NotSolved
23.06.2023 16:29:18 xlKing
NotSolved
26.06.2023 07:25:23 Gast2206
NotSolved
27.06.2023 08:39:41 Gast2206
NotSolved
28.06.2023 22:55:18 xlKing
NotSolved
29.06.2023 14:01:55 Gast2206
NotSolved