Hi,
ich bin daran mir ein Marko zu basteln, dass mir in Abhängigkeit diverser Faktoren den Hintergrund einfärben soll. Solange ich das Sheet nur in einer Spalte durchsuche und je nach Treffer einfärben will, funktioniert das z.B. so:
REM initialize counter with total amount of rows to evaluate
mycounter = mySheet.getcellbyposition(17,0).Value + 6
REM set Suchbereich, Regex-Filter and get Index of all rows to colorize
mysearchbereich = thisComponent.sheets(0).getCellRangeByPosition( 2, 1, 2, mycounter )
myregex = mysearchbereich.createSearchDescriptor()
myregex.SearchString = "Antiquities|The Dark|Foreign Black Bordered"
myregex.SearchRegularExpression = TRUE
myresult = mysearchbereich.findAll(myregex)
REM Colorize all effected Rows
mycounter = myresult.getCount()
for i = 0 to mycounter-1
mycell = myresult.getByIndex(i)
myrow = mycell.getRows()
myrow.CellbackColor = rgb(255,0,255)
next i
Wenn ich jetzt aber eine zweite Bedingung hinzufügen will, klappt das bisher nicht.
Im Prinzip durchsuche ich weiterhin die Spalte H zuerst nach einem Begriff, wird dieser gefunden, soll in der gleichen Zeile die Spalte I durchsucht werden, ob dort ein anderer Begriff zu finden ist.
Meine Überlegung war zunächst, dass ich mir, wie für die Suche mit nur einer Bedingung, die Zeilen nehme und dann in der Zeile selber prüfe, welchen Wert die Spalte I dort hat. Das funktioniert aber nicht, weil die Suche immer eine Range an Spalten übergibt und daher es immer Mismatch-Probleme bei den Variablen gibt. Mein aktueller, nicht funktionierender Versuch sieht so aus:
for i = 0 to mycounter-1
mycell = myresult.getByIndex(i)
mycell2 = mycell.getCellAddress()
myrow = mycell2.row
mycolumn = mycell2.Column + 1
mycell = thisComponent.sheets(0).getcellbyposition(mycolumn, myrow)
if mycell.text = "lohnt nicht" then
myrow.CellbackColor = rgb(255,255,0)
end if
next i
Eine andere Idee, die ich hatte, war das Ergebnis (myresult) als neuen Suchbereich zu nehmen und zu durchsuchen, aber auch dafür habe ich den Code nicht zusammen bekommen. Eine dritte Idee, die mir gerade gekommen ist, ist die Überlegung, ob man 2 Suchbereiche mergen kann? Bzw. auf gleiche Zeilen bzw. Gemeinsamkeiten durchsuchen kann?