marcoborn
Goto Top

Bedingte Formatierung per VBA

Hallo Forum,
ich möchte per VBA Inhalte einer Zelle mit bedingter Formatierung auslesen. Ich habe eine Zelle, wo als Bedingung eine Formel, z.B. =Summe(A1:A2), hinterlegt ist.

Diese kann ich auch mit Selection.FormatConditions(1).Formula1 auslesen. Ich benötige jedoch auch den Wert von Operator. In einigen Fällen ist dieser nicht belegt und ich laufe immer in einen Fehler. Versuche, diese mit IsError oder IsNothing abzufangen, schlagen ebenfalls fehl.

Wie kann ich den Operatur auslesen, ohne dass sich das Makro dabei aufhängt?


Vielen Dank,
M. Born

Content-ID: 7761424948

Url: https://administrator.de/contentid/7761424948

Ausgedruckt am: 24.11.2024 um 00:11 Uhr

Meierjo
Meierjo 06.07.2023 um 15:24:30 Uhr
Goto Top
Hallo

Hier findest du die möglichen Werte vom Operator

Kannst damit was anfangen?
Gruss
MarcoBorn
MarcoBorn 06.07.2023 um 15:35:22 Uhr
Goto Top
Vielen Dank für die Rückmeldung. Es gibt leider Fälle, in denen Operator nicht benutzt wird. Im Debugger steht dann "Laufzeitfehler 1004, Anwendungs- oder objektdefinierter Fehler". Ich kann in diesem Fall auch nicht vergleichen, ob Operator einen der in Deinem Beispiel genannten Werte annimmt, ohne einen Fehler zu erhalten.

Hat noch jemand eine Idee?
TK1987
TK1987 06.07.2023 um 15:46:40 Uhr
Goto Top
Moin,

Zitat von @MarcoBorn:
Hat noch jemand eine Idee?
ich vermute mal, du musst zuerst überprüfen von welchem FormatCondition.Type die Formatierung ist und kannst halt nur bei den Typen, die einen Operator besitzen, diesen aurufen.

Gruß Thomas
Meierjo
Meierjo 07.07.2023 um 06:39:42 Uhr
Goto Top
Hallo

Wäre es ev eine Möglichkeit, die Fehlermledung mit "On Error resume next" zu unterdrücken?
Danach mit "On Error goto 0" die Fehlermeldung wider aktivieren

https://www.automateexcel.com/vba/on-error-resume-next-goto-0/

Gruss
MarcoBorn
MarcoBorn 07.07.2023 um 13:10:53 Uhr
Goto Top
Hallo allerseits,
ich habe erstmal den Weg mit dem Auslesen des Typs (gleiches Ergebnis: Ebenfalls Auslösen von Fehlermeldungen) probiert. Da ich in VB.NET arbeite, habe ich Try/Catch anstatt On Error genutzt. Ich erhalte für keine einzige Zelle den Operator, weil wahrscheinlich für alle Zellen der Fehler ausgelöst wird.

Haben andere ggf. das gleiche Problem?

Viele Grüße
M. Born