Seite 1 von 1

CALC: Makro für das Auswerten von Zellen

Verfasst: Di, 24.01.2012 11:48
von alex01100100
Hallo zusammen,
ich kenne mich zwar einigermaßen mit OpenOffice aus, habe allerdings noch nicht viel mit dem Programmieren von Makros am Hut gehabt. Ich habe zwar schon einige per Copy&Paste benutzt und deren Funktion auch halbwegs verstanden, allerdings tue ich mich beim selber programmieren sehr schwer. Daher hoffe ich, dass ihr mir da helfen könnt :)

Es geht darum, dass ich in vier verschiedenen Spalten jeweils einen Bezeichner und einen Wert habe. Beispiel:

Code: Alles auswählen

AA01    WERT     AA01     -
AA02    WERT     AA03     +
AA03    WERT     BA01     -
BA02    WERT     BA02     -
Was ich nun gerne hätte ist folgendes:
Mein Makro soll zwei Schleifen enthalten. Die Äußere soll die erste Spalte durchgehen, bei AA01 anfangen. Die Innere soll dann die Spalte drei durchgehen und gucken, ob es dort auch eine Zelle mit dem Wert AA01 gibt. Falls ja, soll der Wert aus Spalte vier in Spalte zwei kopiert werden.
Da sich die Werte in Spalte eins und vier nicht komplett gleichen, muss halt jede Zeile der Spalte eins mit der kompletten Spalte drei verglichen werden.

Ich würde mich sehr freuen, wenn ihr mir dabei helfen könntet. Ich hänge hier in etwas fest, was dem hier ähnelt:

Code: Alles auswählen

	
For i = 1 To maxZeilenA
For j = 1 To maxZeilenM
	if (ThisSheet.getCellbyPosition(i,12) = ThisSheet.getCellbyPosition(j,15)) Then	
	Sheets("Sheet1").getCellbyPosition(j,21) = Sheets("Sheet1").getCellbyPosition(i,0)
	End if
	Next j
Next i
Dankeschööööön! :)



Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst

Re: CALC: Makro für das Auswerten von Zellen

Verfasst: Di, 24.01.2012 18:40
von Karolus
Hallo
Dazu brauchts kein Makrogewurschtel, eine simple SVERWEIS-formel tuts auch:

zB. in B1:

Code: Alles auswählen

=SVERWEIS(A1;$C$1:$D$999;2;0)
und nach unten ausfüllen.
Hilfe zu SVERWEIS findest du in der OOo-hilfe, und hier im Calcforum gibts sicher tausende Anwendungsbeispiele.
Jep..SVERWEIS-suche
Gruß Karo

Re: CALC: Makro für das Auswerten von Zellen

Verfasst: Di, 24.01.2012 19:30
von Frieder D.
Hallo alex
Dazu brauchts kein Makrogewurschtel, eine simple SVERWEIS-formel tuts auch:
Dem stimme ich voll und ganz zu.

Wenn du z.B. eine Tabelle mit 100 Eingräten hast,
und du lässt eine solche Doppel-Schleife darüber laufen, dann sind das 101*100/2=5050 Durchläufe.
Wenn du n Einträge hast, dann sind das (n+1)*n/2 Durchläufe die Zahl wächst also Quadratisch.
Da der Zugriff auf Zellen per makro sehr zeitaufwendig ist, sollte so etwas wenn möglich per Formel gelöst werden.
Wenn es absolut nicht anders geht, kann der Zugriff auch über getdataArray() erfolgen, anschließend macht man eine schleife über das Array ,
und fügt es wieder mit setDataArray ein.

Gruß Frieder

Re: CALC: Makro für das Auswerten von Zellen

Verfasst: Do, 26.01.2012 09:32
von alex01100100
Huiiiiii...tausend Dank! Da hab ich wieder was gelernt :)