Zelleninhalte vertauschen per makro

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: Zelleninhalte vertauschen per makro

Re: Zelleninhalte vertauschen per makro

von calc_user » Di, 01.04.2008 00:10

...hat sich erledigt. war ein syntaxfehler :)

Re: Zelleninhalte vertauschen per makro

von calc_user » Mo, 31.03.2008 22:37

...genauer gesagt reagiert folgendes Stück Code nicht auf die eingebaute If-Anweisung:

Code: Alles auswählen

odoc = thisComponent
osheet = odoc.sheets().getbyname("Tabelle1") 'Tabellennamen anpassen
x = 5 ' erste Zeile eintragen
y = 183 ' letzte Zeile eintragen

for i = x-1 to y-1 'Zeilenindex beginnt bei 0
   
if osheet.getcellbyposition(7,i).value = LA then
      tempvar = osheet.getcellbyposition(30,i).formulalocal
      osheet.getcellbyposition(30,i).formulalocal = osheet.getcellbyposition(31,i).formulalocal
      osheet.getcellbyposition(31,i).formulalocal = tempvar
end if

next i 
Der Wert in Spalte 7 kann entweder den String RA oder LA beinhalten. Kann es sein, dass Strings in if-Anweisungen anders bezeichnet werden müssen?

Gruß!

Re: Zelleninhalte vertauschen per makro

von calc_user » Mo, 31.03.2008 22:29

Hi,

das Switchen der Werte funktioniert super! Leider wird jedoch die if-Anweisung ignoriert d.h. es werden alle Werte geswitcht, unabhängig davon ob in Spalte A eine 0 oder eine 1 steht. Wahrscheinlich ist die Lösung easy ...ich kenn mich leider nur noch nicht mit der OO-Makro-Syntax aus. Kennt jemand ne Lösung?

Danke!

Gruß,
calc_user

Re: Zelleninhalte vertauschen per makro

von calc_user » So, 30.03.2008 19:03

wow, karo, das ging schnell ....werd das gleich mal ausprobieren! vielen vielen Dank! :)

Re: Zelleninhalte vertauschen per makro

von Karolus » So, 30.03.2008 18:59

Hallo

Code: Alles auswählen

sub if_A_gleich_0_change_B_C
odoc =thisComponent
osheet = odoc.sheets().getbyname("Tabelle1") 'Tabellennamen anpassen
x = ??? ' erste Zeile eintragen
y = ??? ' letzte Zeile eintragen
for i = x-1 to y-1 'Zeilenindex beginnt bei 0
	if osheet.getcellbyposition(0,i).value = 0 then
		tempvar = osheet.getcellbyposition(1,i).formulalocal
		osheet.getcellbyposition(1,i).formulalocal = osheet.getcellbyposition(2,i).formulalocal
		osheet.getcellbyposition(2,i).formulalocal = tempvar
	end if 
next i	
end sub
Gruß Karo

Zelleninhalte vertauschen per makro

von calc_user » So, 30.03.2008 18:23

Hi zusammen,

bin leider noch ein newby im Schreiben von calc-Makros und benötige etwas input bei folgendem Problem:

Ich habe eine Tabelle mit 3 Spalten: A, B und C. Spalte A kann entweder den Wert 0 oder 1 enthalten. Wenn Spalte A den Wert 0 enthält, dann sollen die Inhalte der Spalten B und C ausgetauscht werden. Hat Spalte A den Wert 1, dann soll nichts passieren d.h. die Spalten B und C bleiben unverändert. Das ganze soll für Zeilen x bis y funktionieren.

Pseudo-Code:

Code: Alles auswählen

int dummy;

for(zeile = 1; zeile < anzahl; zeile++) {

if (A == 0) then {
    // Zelleninhalte austauschen
    dummy = C;
    C = B;
    B = dummy;
} else {
   exit();
}

} 
Besten Dank!

Grüße
calc_user

Nach oben