[Gelöst] Bedingte Formatierung/Duplikat zur Vorzeile

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst] Bedingte Formatierung/Duplikat zur Vorzeile

Re: [Gelöst] Bedingte Formatierung/Duplikat zur Vorzeile

von retuwe61 » Do, 30.03.2017 13:23

Super. Danke!
Gruß
Uwe

Re: Bedingte Formatierung/Duplikat zur Vorzeile

von mikeleb » Do, 30.03.2017 12:30

Hallo,
ich hab's gefunden. Es fehlt noch ein vierter Parameter, der für den relativen Bezug wichtig ist.
oBedingung(3).Name = "SourcePosition"
oBedingung(3).Value = oSheet.getCellByPosition(6,0).celladdress
bzw.
oBedingung(3).Name = "SourcePosition"
oBedingung(3).Value = oSheet.getCellByPosition(6,1).celladdress

Re: Bedingte Formatierung/Duplikat zur Vorzeile

von retuwe61 » Do, 30.03.2017 06:44

Das hatte ich auch schon erfolglos versucht.
Für die selbe Zelle sind die Formeln für beide Bedingungen dann identisch.
Für Zelle G2 lautet auch die zweite Formel WENN(UND($L2=$L3;$N2=$N3)) und nicht WENN(UND($L1=$L2;$N1=$N2)).
Gruß
Uwe

Re: Bedingte Formatierung/Duplikat zur Vorzeile

von mikeleb » Mi, 29.03.2017 16:44

Hallo,
die Bedingung prüft nur, ob eine Übereinstimmung mit der nachfolgenden Zeile vorliegt. Du wirst noch eine zweite Bedingung für den Bereich ab Zeile 2 für die vorangegangene Zeile formulieren müssen (da die erste Zeile ja keine Vorgängerzeile hat).

Code: Alles auswählen

oRange = oSheet.getCellRangeByPosition(6,1,6,letzte_Zeile)
oBedingungen = oRange.getPropertyValue( "ConditionalFormat" )
Dim oBedingung(2) as New com.sun.star.beans.PropertyValue

oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "IF(AND($L1=$L2;$N1=$N2))"

oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "rot"
oBedingungen.addNew( oBedingung )
oRange.setPropertyValue( "ConditionalFormat", oBedingungen )

[Gelöst] Bedingte Formatierung/Duplikat zur Vorzeile

von retuwe61 » Mi, 29.03.2017 14:56

Hallo miteinander.
Eine Tabelle ist nach Spalte L (Datum) und anschließend nach Spalte N (Postleitzahl) sortiert.
Ich möchte in Spalte G alle Zellen farbig markieren, wenn in Spalten L UND N übereinstimmende Zelleninhalte vorhanden sind und zwar entweder in der Vorzeile oder der nachfolgenden.
Mit folgendem Makro wird zwar die erste Zelle eingefärbt, jedoch nicht diejenige in der nächsten Zeile.
Hat jemand eine Idee, was ich ändern muss?
Gruß
Uwe

Code: Alles auswählen

Sub EinfuegenBedingteFormatierung
Dim oCell as Object
Dim oConditionalForm as Object
oDoc = thisComponent
oSheet = oDoc.Sheets.getByName("Gesamtübersicht")

oCellCursor = oSheet.createCursor()
oCellCursor.GotoEndOfUsedArea(True)
letzte_Zeile = oCellCursor.getRangeAddress.EndRow

oRange = oSheet.getCellRangeByPosition(6,0,6,letzte_Zeile)
oBedingungen = oRange.getPropertyValue( "ConditionalFormat" )
Dim oBedingung(2) as New com.sun.star.beans.PropertyValue

oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.FORMULA
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "IF(AND($L1=$L2;$N1=$N2))"

oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "rot"
oBedingungen.addNew( oBedingung )
oRange.setPropertyValue( "ConditionalFormat", oBedingungen )
end sub

Nach oben