nur ungerade Zeilen ansprechen
Moderator: Moderatoren
nur ungerade Zeilen ansprechen
Hallo Leutz,
ich möchte in einer Tabelle in einem Bereich zB die ersten 100 Zeilen nur für die geraden oder ungeraden Zeilen die Zeilenhöhe einstellen
wie würde man das am sinnigsten machen ?
kann man "ungerade" irgendwie direkt auswerten,
oder muss da eine Schleife her mit 1+2, oder was könnte man da noch anstellen ?
ich möchte in einer Tabelle in einem Bereich zB die ersten 100 Zeilen nur für die geraden oder ungeraden Zeilen die Zeilenhöhe einstellen
wie würde man das am sinnigsten machen ?
kann man "ungerade" irgendwie direkt auswerten,
oder muss da eine Schleife her mit 1+2, oder was könnte man da noch anstellen ?
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: nur ungerade Zeilen ansprechen
Hallo clag,
das einfachste gerade von ungeraden Zahlen zu unterscheiden ist, ob die GANZZAHL von ( a/2) <> a/2 ist.
Beispiel:
5 / 2 = 2.5
GaNZZAHL(5/2) = 2
gruß
sven-my
das einfachste gerade von ungeraden Zahlen zu unterscheiden ist, ob die GANZZAHL von ( a/2) <> a/2 ist.
Beispiel:
5 / 2 = 2.5
GaNZZAHL(5/2) = 2
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: nur ungerade Zeilen ansprechen
Hi Clag,
verwenden.
Bei 100 Zeilen dauert das auf meinem Läppi gerade mal 32 Millisekunden.
Viel Erfolg.
Jürgen
Meines Wissens nicht.clag hat geschrieben:kann man "ungerade" irgendwie direkt auswerten,
Man könnte auchclag hat geschrieben: oder muss da eine Schleife her mit 1+2, oder was könnte man da noch anstellen ?
Code: Alles auswählen
for i = StartRow to cRows Step 2
Bei 100 Zeilen dauert das auf meinem Läppi gerade mal 32 Millisekunden.

Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: nur ungerade Zeilen ansprechen
Hallo sven-my,
danke für den Hinweis
aber genau das möchte ich möglichts ,vermeiden jede Zeile einzeln finden und ansprechen
ich dachte an so etwas
thiscomponent.Sheets(0).getcellrangebyposition(0,1,0,2001).getrows().ungerade.Height = 10
oder so !?
edit:
da war ja zwischendurch der turtle47 mit einem Vorschlag, ok bei 32 mSek werde ich mal testen wie das hier so läuft .....
du hast aber nen schnellen Daumen . .
danke für den Hinweis
aber genau das möchte ich möglichts ,vermeiden jede Zeile einzeln finden und ansprechen
ich dachte an so etwas
thiscomponent.Sheets(0).getcellrangebyposition(0,1,0,2001).getrows().ungerade.Height = 10
oder so !?
edit:
da war ja zwischendurch der turtle47 mit einem Vorschlag, ok bei 32 mSek werde ich mal testen wie das hier so läuft .....
du hast aber nen schnellen Daumen . .

Zuletzt geändert von clag am Sa, 21.08.2010 22:03, insgesamt 1-mal geändert.
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: nur ungerade Zeilen ansprechen
Hallo clag,
mein Vorschlag in BASIC:
if mod(Zahl / 2) <> Zahl / 2 then "ungerade"
gruß
sven-my
Gerade kommt mir Dein neuer Beitrag dazwischen - da bin ich überfragt.
gruß
sven-my
mein Vorschlag in BASIC:
if mod(Zahl / 2) <> Zahl / 2 then "ungerade"
gruß
sven-my
Gerade kommt mir Dein neuer Beitrag dazwischen - da bin ich überfragt.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: nur ungerade Zeilen ansprechen
Hi,
da werde ich natürlich probieren wass wie läuft
Danke !
da werde ich natürlich probieren wass wie läuft

Danke !
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: nur ungerade Zeilen ansprechen
Hallo
und die extra Prüfung auf ...<> zahl/2 ist ja nun völliger Quatsch - die Bedingung (Zahl mod 2) <> (zahl / 2) trifft bei allen Zahlen zu.
Gruß Karo
Das wird so nicht laufen, Die Basicsyntax für mod lautet:if mod(Zahl / 2) <> Zahl / 2 then "ungerade"
Code: Alles auswählen
if zahl mod 2 then 'ungerade
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: nur ungerade Zeilen ansprechen
Hallo Karolus,
habe ich das mit >mod< falsch verstanden, oder ist es doch das Äquivalent zu GANZZAHL ?
Da zitierst Du mich falsch :
"Zahl" soll sie Zahl sein, die geprüft wird. Und es ist doch ein Unterschied, ob ich
Ganzzahl(5/2) , oder 5/2 errechnen lasse, bei einer geraden Zahl ergibt es keinen Unterschied.
Michael (http://www.starbasicfaq.de/WelcheRuntim ... ml)schrieb
gruß
sven-my
habe ich das mit >mod< falsch verstanden, oder ist es doch das Äquivalent zu GANZZAHL ?
Da zitierst Du mich falsch :
OK, ich häte besser geschriebenKarolus hat geschrieben:die Bedingung (Zahl mod 2) <> (zahl / 2)
Code: Alles auswählen
if x/2 <> mod(x/2) then .......
rem x ist die zu prüfende Zahl
Ganzzahl(5/2) , oder 5/2 errechnen lasse, bei einer geraden Zahl ergibt es keinen Unterschied.
Michael (http://www.starbasicfaq.de/WelcheRuntim ... ml)schrieb
Mathematische Operatoren
.....
Mod
Liefert den ganzzahligen Rest einer Division.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: nur ungerade Zeilen ansprechen
Hallo Karolus,
Asche auf mein Haupt --- habe da was falsch verstanden :
Dank Michael hab auch ich es jetzt begriffen !
>mod< ist nicht die Entsprechung zu Ganzzahl, sondern rundet die Stellen nach dem Komma einer Division auf.
müßte dann also so gehen:
gruß
sven-my
Nachtrag:
die Entsprechung zu >Ganzzahl< ist >fix<
würde somit richtig lauten:
gruß
sven-my
Asche auf mein Haupt --- habe da was falsch verstanden :
Dank Michael hab auch ich es jetzt begriffen !
>mod< ist nicht die Entsprechung zu Ganzzahl, sondern rundet die Stellen nach dem Komma einer Division auf.
müßte dann also so gehen:
Code: Alles auswählen
y= x mod2
if y = 0 then msgbox "gerade"
'oder
if y=1 then msgbox "[color=#FF0000]un[/color]gerade"
sven-my
Nachtrag:
die Entsprechung zu >Ganzzahl< ist >fix<
würde somit richtig lauten:
Code: Alles auswählen
if 5/2 <> fix(5/2) then msgbox "ungerade"
sven-my
Zuletzt geändert von sven-my am So, 22.08.2010 11:50, insgesamt 1-mal geändert.
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: nur ungerade Zeilen ansprechen
Meine Rede: Du liesst nicht.clag hat geschrieben:ich möchte in einer Tabelle in einem Bereich zB die ersten 100 Zeilen nur für die geraden oder ungeraden Zeilen die Zeilenhöhe einstellen

Hättest Du Dir mal meine Makro-Seite angesehen, wäre Dir calc_colorRows doch aufgefallen, oder?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: nur ungerade Zeilen ansprechen
Hallo
@Sven
mod ist der modulo-Operator und liefert den Rest der beim ganzahligen dividieren übrig bleibt, z.B.: 11 mod 4 ergibt 3
( 4 passt 2 mal in 11 → 2 mal 4 gibt 8 bleibt ein Rest von 3 )
Gruß Karo
@Sven
mod ist der modulo-Operator und liefert den Rest der beim ganzahligen dividieren übrig bleibt, z.B.: 11 mod 4 ergibt 3
( 4 passt 2 mal in 11 → 2 mal 4 gibt 8 bleibt ein Rest von 3 )
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: nur ungerade Zeilen ansprechen
Hallo karolus,
nun sehe ich klarer - von modulo habe ich vor Jahrzehten schon mal gehört.
Michaels Seite hat mich da auf den falschen Dampfer gebracht.
Danke Dir.
gruß
sven-my
nun sehe ich klarer - von modulo habe ich vor Jahrzehten schon mal gehört.
Michaels Seite hat mich da auf den falschen Dampfer gebracht.
Danke Dir.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: nur ungerade Zeilen ansprechen
Hallo,
in der Zwischenzeit habe ich mir auch mal erlaubt in die Eingeweide von calc_colorRows zu sehen
da wendet Komma4 ja genau so diese Funktion an !
Dazu ich nun folgendes fragen/bemerken
wenn ich es richtig verstehe wird in jedem Durchgang auf gerade ungerade geprüft oder ?
ist das bei einer größeren Anzahl nicht unnötige Rechenarbeit ?
wäre es nicht erheblich schneller diese Prüfung nur einmal am Anfang vorzunehmen
und dann nur noch den Zähler um 2 zu variieren also +2 oder -2 je nach dem?
sonst einmal +1 und dann +2
in der Zwischenzeit habe ich mir auch mal erlaubt in die Eingeweide von calc_colorRows zu sehen
da wendet Komma4 ja genau so diese Funktion an !
Dazu ich nun folgendes fragen/bemerken
wenn ich es richtig verstehe wird in jedem Durchgang auf gerade ungerade geprüft oder ?
ist das bei einer größeren Anzahl nicht unnötige Rechenarbeit ?
wäre es nicht erheblich schneller diese Prüfung nur einmal am Anfang vorzunehmen
und dann nur noch den Zähler um 2 zu variieren also +2 oder -2 je nach dem?
sonst einmal +1 und dann +2
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: nur ungerade Zeilen ansprechen
Hallo
Irgendwo in den unendlichen Weiten dieses Threads wurde doch schon mal die Variante der For-Schleife genannt:
for zahl = 1 to 99 step 2
...
next
Für was steht wohl dieses ominöse step 2 ?
(Komma4 hat Recht - mit Lesen hast du es nicht so .. )
Gruß Karo
Irgendwo in den unendlichen Weiten dieses Threads wurde doch schon mal die Variante der For-Schleife genannt:
for zahl = 1 to 99 step 2
...
next
Für was steht wohl dieses ominöse step 2 ?
(Komma4 hat Recht - mit Lesen hast du es nicht so .. )

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: nur ungerade Zeilen ansprechen
Hi
ja man wat iss'n nu, rin inne Katoppeln rut usse Kattopeln
nu lese ich in fremden Code nach und habe Fragen dazu und werde auch wieder angemacht
bzw kriege dann zu lesen ich würde nicht lesen
das mit step 2 hatte ich schon verstanden (glaube ich)
daraus resultiert ja diese Frage zu der von Komma4 verwendeten Schleife
ja man wat iss'n nu, rin inne Katoppeln rut usse Kattopeln

nu lese ich in fremden Code nach und habe Fragen dazu und werde auch wieder angemacht
Code: Alles auswählen
for i = lStartRow to lEndRow
' determine range
actRange = actSheet.getCellRangeByPosition(lStartCol,i,lEndCol,i)
' only every second row
if ((i MOD 2) = 0) then
' even row number (zero considered even)
actRange.setPropertyValue("CellBackColor", lOddColor)
end if
next i

das mit step 2 hatte ich schon verstanden (glaube ich)

daraus resultiert ja diese Frage zu der von Komma4 verwendeten Schleife
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox