aus zwei tabellen zell inhalte vergleichen un ggf einfärgen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

BabCom
Beiträge: 2
Registriert: Mi, 16.04.2014 20:04

aus zwei tabellen zell inhalte vergleichen un ggf einfärgen

Beitrag von BabCom »

Hallo,

Da dies mein erster post ist eine kurze vorstellung meinerseits.
Ich binn derzeit (noch) Student un binn jetzt zum ersten mal mit etwas aufwändigeren aufgaben in OOo Calc konfrontiert worden.
Da kam mir gleich die idee versuch es doch mal mit makros.^^
Naja bis jetzt klapt es nicht wirklich.

zum Problem:
ich habe zwei Tabellen in denen jeweils ca 1700 bis 1800 zeilen existieren.
Ich soll bei allen werten aus tabelle A überprüfen ob sie in tabelle B enthalten sind. Wenn ja beide Einträge Grün hinterlegen (inTabelle a und B) wenn nein eintrag in tabelle A rot hinterlegen.
Ich hab jetzt ein par Stunden im internet gelesen, bin bis jetzt aber nicht wirklich weitergekommen. Wobei ich hauptsächlich an der Syntax und mangelndem wissen scheitere. (und etwas unter zeit druck stehe^^).

Das ist mein bisheriger coder der so aber nicht funktioniert. ware echt hilfreich wenn mir jemand dabei heäfenkönnte das zum laufen zu bringen.

Code: Alles auswählen


sub test2
GlobalScope.BasicLibraries.LoadLibrary("Tools")
rem ----------------------------------------------------------------------
rem define variables
dim i as integer
dim j as integer
dim finish as integer
dim value1 AS STRING
dim value2 AS STRING
dim myDoc as object
dim mySheet1 as object
dim mySheet2 as object
dim mycell1 as object
dim mycell2 as object
rem------------------------------------------------------------------------
rem initialisierung
myDoc = thisComponent
mySheet1 = myDoc.sheets.getByIndex(0)
mySheet2 = myDoc.sheets.getByIndex(1)

rem------------------------------------------------------------------------
rem START MACRO
For i = 0 to 1868 step 1 rem Ersteschleife für sheet 1
	IF i >1868 THEN EXIT FOR

	rem vergleichs wert spalte D lesen asu tabelle 1
	mycell1  = mySheet1.getCellByPosition(i,3) 
	value1 = mycell1.string
	
	For j = 0 to 1711 step 1
	if j >1711 then
		rem rot färgebn
		mycell1.CellBackColor= 16711680
		exit for
	end if
		
		rem vergleichs wert spalte D lesen aus tabelle 2
		mycell2  = mySheet2.getCellByPosition(j,4) 
		value2 = mycell2.string
		
		if value1 = value2 then
			rem grün färben
			mycell2.CellBackColor=32768
			mycell1.CellBackColor=32768
			exit for
			end if
	next
NEXT

end sub

MfG BabCom
BabCom
Beiträge: 2
Registriert: Mi, 16.04.2014 20:04

Re: aus zwei tabellen zell inhalte vergleichen un ggf einfär

Beitrag von BabCom »

ich glaube ich habe das problem gefunden. hatte einfach nur zeile spalte vertauscht ^^
PS: klappt jetzt definitiv super, ist aber relativ langsam.
was würdet ihr den vorschlagen wie man das (Besser) lösne kann.

Mfg BabCom
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: aus zwei tabellen zell inhalte vergleichen un ggf einfär

Beitrag von F3K Total »

Hi,
dazu benötigst du kein Makro, es reicht die bedingte Formatierung, anbei ein Beispiel.
HTH R
Dateianhänge
Vergleich.ods
(36.16 KiB) 120-mal heruntergeladen
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: aus zwei tabellen zell inhalte vergleichen un ggf einfär

Beitrag von TrueColor »

BabCom hat geschrieben:PS: klappt jetzt definitiv super, ist aber relativ langsam.
was würdet ihr den vorschlagen wie man das (Besser) lösne kann.
Wenn mittels Macro die Ausgabe geändert wird, würde ich immer empfehlen, die Bildschirmaktualisierung aus- und wenn fertig ist, wieder anzuschalten.
--> viewtopic.php?f=18&t=63826

Ansonsten --> Bedingte Formatierung
System:
LibO 6 + LibO 7
Antworten