Makro/Basic doppelte Suche

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?

Bin zwar nach wie vor daran interessiert, wie man in einem Suchbereich erneut suchen kann, da ich aber für die doppelte Suche kein Regex nutzen musste, konnte ich die auch mit einfachem iterieren über alle Zeilen abfrühstücken.

Insofern ist mein Problem an sich gelöst, aber eine andere, möglicherweise elegantere Lösung interessiert mich immer noch.

Antworte bitte nicht auf Deine eigenen Fragen, sondern benutze, falls Du der Frage etwas hinzufügen willst, die Funktion BEARBEITEN.

Die kommentieren Funktion kannst Du auch benutzen.