Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Flipchart am März 01, 2019, 19:12:41 Nachmittag
-
Hello an die Community,
ich habe eine sehr komplexe Excel Tabelle die Daten aus einer externen Datenquelle zieht und diese Daten durch bestimmte Formeln jagt.
Da sich die Daten stetig ändern, ändern sich auch die Ergebnisse, welche die Formeln berechnen.
Die Ergebnisse werden in verschiedenen Zellen ausgegeben und ändern sich stetig, sobald sich die "Rohdaten" verändern.
(für meine Frage ist die Art der Datenquelle sowie die Beschaffenheit der Formeln unerheblich).
Meine Frage: Wenn das Ergebnis einen bestimmten Wert übersteigt, sagen wir ">=1", soll diese Zelle "drei mal aufleuchten" oder "10 Sekunden eine bestimmte Farbe annehmen" sowie "ein Ton abgespielt werden".
Beispiel: Aufgrund der sich verändernden Daten wird das Ergebnis der Zelle "A1" 2,35, sprich ">=1" da 2,35 nun mal größer ist als 1.
Nun möchte ich, dass die Zelle A1, sprich die Zelle mit der "2,35" drei mal aufleuchtet bzw. für eine kurze Zeit eine andere Farbe annimmt (bedingte Formatierung bringt mir daher weniger) sowie ein Ton abgespielt wird, die Art des Tons ist mir egal, Hauptsache ich erhalte ein akustisches Signal.
Ist dies mit "normalen" Funktionen/Formeln realisierbar (wenn ja welche) oder benötige ich dazu einen VBA Code bzw. ein Makro (wenn ja, wie müsste es lauten?)
Vielen Dank für eure Hilfe :)
Grüße
-
Hallo Flipchart,
ich fürchte mit "normalen" Formeln kommst du hier nicht weiter.
Ich kann mich nicht vorstellen, wie jemand ein Makro für das Problem programmieren will, wenn er nicht genau weiß, wie die Tabelle aussieht. Aber ich weiß auch nicht genug über Makros um das wirklich einschätzen zu können.
Ich kann mir vorstellen, dass das geht, wenn auch nur seeeehr komplex, klingt eher, als wäre Excel nicht ganz das richtige Tool....
Um dich nicht komplett im Regen stehen zu lassen hätte ich aber einen Lösungsansatz, falls dich Hilfszellen nicht stören:
Schreib neben die Ergebniszelle eine Hilfszelle. Erstell über Makro aufzeichnen ein Makro, dass die die Daten kopiert und als "Werte" wieder in die Hilfszellen einfügt. Dann hast du einen festen Wert in der Hilfszelle und einen variablen Wert aus deiner Formel. Änderst du jetzt die Datenquelle, errechnen deine Formeln alles neu. Kommt es zu Abweichungen, können diese mittels bedingter Formatierung zumindest optisch hervorgehoben werden.
Wenn du nun das Makro erneut ausführst, sollten die Hilfszellen mit den aktuellen Ergebnissen überschrieben werden. Sodass du beim nächsten Quellwechsel die alten Werte für den Abgleich noch zur Verfügung stehen.
Ein entsprechendes akustisches Signal ist formelgesteuert soweit ich weiß nicht möglich. Vielleicht über Makro, weiß aber nicht wie das aussehen müsste.
Hoffe damit konnte ich helfen.
-
Sehe ich auch so, mit Formeln und bedingter Formatierung ist da nix zu machen.
Hab aber ein wenig VBA-Code zusammengebastelt, schau in den Anhang.
in ein Modul:
Option Explicit
Declare Function Beep Lib "kernel32.dll" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
ins Tabellenblatt:
Option Explicit
Private Sub Worksheet_Calculate()
On Error GoTo Fehler
Dim Freq As Integer, Dauer As Integer, Anz As Byte, i As Byte
With Tabelle1
'Ton konfigurieren
Freq = .Cells(1, 6).Value
Dauer = .Cells(2, 6).Value * 1000 'Umrechnung in Milisekunden
Anz = 3
If .Cells(1, 1).Value >= 1 Then
For i = 1 To Anz
Beep Freq, Dauer
With .Cells(1, 1).Interior
.ThemeColor = xlThemeColorAccent2
.Pattern = xlSolid
Application.Wait Now + TimeValue("00:00:01")
.Pattern = xlNone
End With
Next i
End If
End With
weiter:
Exit Sub
Fehler:
With Err
MsgBox .Description, vbCritical, .Number
Resume weiter
End With
End Sub