Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: gerade oder ungerade ermitteln

gerade oder ungerade ermitteln
13.08.2008 15:49:48
LotharP
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 


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.

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gerade oder ungerade ermitteln
13.08.2008 15:54:54
Rudi
Hallo,
if BLI Mod 2=0 then
cuslab
else
ctrcus
end if
Gruß
Rudi

AW: gerade oder ungerade ermitteln
13.08.2008 16:00:00
Daniel
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

Anzeige
AW: gerade oder ungerade ermitteln
13.08.2008 16:08:07
Tino
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

AW: gerade oder ungerade ermitteln
13.08.2008 16:10:00
LotharP
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
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gerade oder Ungerade Zahlen in Excel VBA ermitteln


Schritt-für-Schritt-Anleitung

Wenn Du in Excel VBA überprüfen möchtest, ob eine Zahl gerade oder ungerade ist, kannst Du die Mod-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel. Du kannst dies tun, indem Du ALT + F11 drückst.
  2. Füge ein neues Modul hinzu: Rechtsklicke im Projektfenster auf „Einfügen“ und wähle „Modul“.
  3. Füge den folgenden Code ein:
Sub SHEETSFILL()
    Dim BLC As Byte    ' BlattCounter
    Dim BLI As Byte    ' Blattindex
    BLI = 7
    Do While BLI <= 30 ' Beispiel bis Blatt 30
        If (BLI Mod 2 = 0) Then
            ' Hier die Anweisung für gerade Zahlen
            CUSLAB
        Else
            ' Hier die Anweisung für ungerade Zahlen
            CTRCUS
        End If
        BLI = BLI + 1
    Loop
End Sub
  1. Ändere die Anweisungen CUSLAB und CTRCUS in die gewünschten Aktionen für gerade und ungerade Blätter.
  2. Starte das Makro, um die Funktionalität zu testen.

Häufige Fehler und Lösungen

  • Fehler: "Variable nicht definiert"
    Lösung: Stelle sicher, dass Du alle Variablen korrekt deklariert hast und dass die Anweisungen, die Du verwenden möchtest, definiert sind.

  • Fehler: Das Makro funktioniert nicht wie erwartet.
    Lösung: Überprüfe, ob die Bedingung If (BLI Mod 2 = 0) korrekt implementiert ist. Achte darauf, dass der Schleifenbereich korrekt gesetzt ist (z.B. Do While BLI <= 30).


Alternative Methoden

Du kannst auch eine For-Next-Schleife verwenden, um das gleiche Ergebnis zu erzielen:

Sub SHEETSFILL_FOR()
    Dim BLI As Byte
    For BLI = 7 To 30
        If (BLI Mod 2 = 0) Then
            CUSLAB
        Else
            CTRCUS
        End If
    Next BLI
End Sub

Beide Methoden sind effektiv, aber die Wahl zwischen Do While und For-Next hängt von Deinen persönlichen Vorlieben ab.


Praktische Beispiele

  • Beispiel 1: Prüfen, ob 0 eine gerade oder ungerade Zahl ist:

    If (0 Mod 2 = 0) Then
    MsgBox "0 ist eine gerade Zahl"
    Else
    MsgBox "0 ist eine ungerade Zahl"
    End If
  • Beispiel 2: Eine Liste von Zahlen überprüfen:

    Dim Zahl As Integer
    For Zahl = 1 To 10
    If (Zahl Mod 2 = 0) Then
        Debug.Print Zahl & " ist gerade"
    Else
        Debug.Print Zahl & " ist ungerade"
    End If
    Next Zahl

Tipps für Profis

  • Verwende die Mod-Funktion immer, um schnell zu überprüfen, ob eine Zahl gerade oder ungerade ist. Dies ist besonders nützlich bei der Verarbeitung von großen Datenmengen in Excel.
  • Dokumentiere Deinen Code mit Kommentaren, um die Lesbarkeit zu erhöhen, besonders wenn Du mit vba gerade zahl arbeitest.
  • Teste Deine Makros gründlich, um sicherzustellen, dass sie unter verschiedenen Bedingungen funktionieren, insbesondere bei Randfällen wie 0 oder negative Zahlen.

FAQ: Häufige Fragen

1. Ist 0 eine ungerade Zahl?
Nein, 0 ist eine gerade Zahl, da sie durch 2 teilbar ist und einen Rest von 0 hat.

2. Wie kann ich in Excel prüfen, ob eine Zahl gerade oder ungerade ist?
Du kannst die Mod-Funktion verwenden. Ein Ergebnis von 0 bedeutet, dass die Zahl gerade ist, während ein Ergebnis von 1 bedeutet, dass die Zahl ungerade ist.

3. Was sind gerade und ungerade Zahlen?
Gerade Zahlen sind durch 2 teilbar (z.B. 0, 2, 4, 6), während ungerade Zahlen nicht durch 2 teilbar sind (z.B. 1, 3, 5, 7).

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige