Microsoft Excel

Herbers Excel/VBA-Archiv

gerade oder ungerade ermitteln

Betrifft: gerade oder ungerade ermitteln von: LotharP
Geschrieben am: 13.08.2008 15:49:48

Hallo zusammen,

ich habe eine Mappe mit ca 30 Blättern.
Ab Blatt 7 möchte ich immer wieder zwei unterschiedliche Aktionen pro Blatt ausführen.
Wie ermittele ich ob der Blattindex gerade oder ungerade ist.

Zum besseren Verständnis hier mein Ansatz:



Sub SHEETSFILL()
Dim BLC As Byte    ' BlattCounter
Dim BLI As Byte    'Blattindex
BLI = 7
Do While BLI <= 9
Sheets(BLI).Select
var2 = Right(ActiveSheet.Name, 2)
CTRCUS
BLI = BLI + 1
Loop
End Sub



Er beginnt bei 7 und beim nächsten Blatt soll er statt CTRCUS die andere Anweisung durchführen CUSLAB. Nur wie kann ich abfragen ob BLI gerade oder ungerade ist.

  

Betrifft: AW: gerade oder ungerade ermitteln von: Rudi Maintaire
Geschrieben am: 13.08.2008 15:54:54

Hallo,

if BLI Mod 2=0 then
cuslab
else
ctrcus
end if

Gruß
Rudi


  

Betrifft: AW: gerade oder ungerade ermitteln von: Daniel
Geschrieben am: 13.08.2008 16:00:58

Hi

dafür gibts die MOD - funktion, die den Rest einer Divison ermittelt
wird 2 als Divisor verwendet, dann steht das Ergebnis 0 für Gerade und 1 für ungerade

die Abfrage könnte also so aussehen:

If (BLI Mod 2 = 0) Then
    CTRCUS
Else
    CUSLAB
End If



btw warum nimmst du nicht einfach eine FOR-NEXT -Schleife?

for BLI = 7 to 9
...
Next

funktioniert genaus wie deine DO-LOOP-schleife.

Gruß, Daniel


  

Betrifft: AW: gerade oder ungerade ermitteln von: Tino
Geschrieben am: 13.08.2008 16:08:07

Hallo,
schau dir mal in der Hilfe den Mod (Operator) an.

Eine Gerade Zahl durch zwei geteilt hat einen Rest von 0 eine ungerade Zahl hat einen Rest der größer als 0 ist.

Beispiel.

7 Mod 2 ergibt 1 = ungerade
8 Mod 2 ergibt 0 = gerade


Gruß Tino


  

Betrifft: AW: gerade oder ungerade ermitteln von: LotharP
Geschrieben am: 13.08.2008 16:10:17

Hallo ihr Beiden,

vielen Dank für die prompten Antworten.
Werde ich gleich probieren!
Die For next Schleife, ja da hast du wohl recht aber ich mach irgendwie öfter Do while als for next!
Das ist ne Angewohnheit und wahrscheinlich auch für mich sicherer! ;-))

Einen schönen Feierabend so er denn bald kommt!

Gruß

Lothar


 

Beiträge aus den Excel-Beispielen zum Thema "gerade oder ungerade ermitteln"