Office: Wie kann hinter "Then" gleich "Else" stehen?

Helfe beim Thema Wie kann hinter "Then" gleich "Else" stehen? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Liebe Mituser! Was ist das für eine Struktur? For i = 1 To 40000000 'Test, ob Zahl größer als 10 ist oder durch 8, 5 und 6 ohne Rest... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Streethawk68, 13. September 2010.

  1. Wie kann hinter "Then" gleich "Else" stehen?


    Liebe Mituser!

    Was ist das für eine Struktur?


    PHP:
             For 1 To 40000000
    'Test, ob Zahl größer als 10 ist oder durch 8, 5 und 6 ohne Rest teilbar ist
    If (avarTest(k) > 10) Then
    Else
    If (avarTest(k) Mod 8 = 0) Then
    Else
    If (avarTest(k) Mod 5 = 0) Then
    Else
    If (avarTest(k) Mod 6 = 0) Then
    Else
    '
    keine Bedingung erfüllt
    blnIsFalse 
    True
    End 
    If
    End If
    End If
    End If
    Next
    If Not (blnIsFalse) = True Then
    Eine Bedingung wurde erfüllt
    i
    End 
    If
    :)
     
    Streethawk68, 13. September 2010
    #1
  2. Hallo!

    Die If-Bedingung kann, genau wie die Else-Bedingung, einfach leer bleiben. D.H. das bei erfüllter Bedingung keine Aktion ausgeführt wird, sondern erst bei Else. Umgekehrt geht es auch, also wenn erfüllt dann Aktion, wenn nicht erfüllt dann nichts tun.

    Dazu zwei einfache Beispiele

    Code eingefügt mit VBA in HTML 2.0

    Gruß, René
     
  3. Oh, vielen Dank, das ist erhellend.
    *Smilie
     
    Streethawk68, 15. September 2010
    #3
  4. Wie kann hinter "Then" gleich "Else" stehen?

    Hallo,

    in René's Beispielen ist aber das Else so notwendig wie ein Kropf.

    Sub Beispiel1()
    If Range("A1").Value >= 10 Then MsgBox "Bedingung erfüllt", vbExclamation, "Hinweis"
    End Sub

    Sub Beispiel2()
    If Range("A1").Value < 10 Then MsgBox "Bedingung nicht erfüllt", vbExclamation, "Hinweis"
    End Sub

    Hast du mehrere Bedingungen die erfüllt sein müssen (Und - Bedingungen) kannst du das wie in Beispiel3 machen. Schneller ist aber die Variante von Beispiel4 da anders als in Beispie3 nicht immer alle Bedingungen geprüft werden, sondern die 2. wird nur geprüft wenn die 1. zutriff, die 3. nur wenn die 1. und die 2. zutrifft.

    Sub Beispiel3()
    If Range("A1").Value >= 10 And Range("B1").Value >= 10 And _
    Range("C1").Value >= 10 Then MsgBox "Bedingung erfüllt", vbExclamation, "Hinweis"
    End Sub

    Sub Beispiel4()
    If Range("A1").Value >= 10 Then
    If Range("B1").Value >= 10 Then
    If Range("C1").Value >= 10 Then
    MsgBox "Bedingung erfüllt", vbExclamation, "Hinweis"
    End If
    End If
    End If
    End Sub

    Genauso schnell ist folgende Variante, die verwirrt aber die meisten Anfänger:

    Sub Beispiel5()
    If Range("A1").Value >= 10 Then If Range("B1").Value >= 10 Then _
    If Range("C1").Value >= 10 Then MsgBox "Bedingung erfüllt", vbExclamation, "Hinweis"
    End Sub
     
  5. Hallo,

    was ich nicht verstehe ist der Zusammenhang zwischen der Lösung und der Aufgabenstellung....
    Aber das erklärt Dir Dein Dozent sicher gerne.

    Grüß
    EarlFred
     
  6. Hallo,

    das war nicht die Frage. Die lautete warum hinter dem Then sofort ein Else kommt.

    Ich hätte es drastischer ausdrücken können:

    Weil der, welcher die Prozedur geschrieben hat keine Ahnung zu haben scheint.

    Wenn nach dem Then sofort ein Else kommt, dann ist die Abfrage selbst falsch gestellt. Ein "mache nichts" in einer Abfrage ist unnötig. Dreh einfach die Frage um und lass das Else weg.

    Unsinn:

    If A = B Then
    Else
    mach was
    End If

    Sinnvoll:

    If A B Then
    mach was
    End If
     
  7. Hallo Nepumuk,

    stimmt schon, das war nicht die eigentliche Frage. Aber die Aufgabe ist entweder falsch beschrieben oder der Code macht schlichtweg nicht das, was er soll.

    Deine Anmerkungen über die Art der Programmierung sind dadurch nicht in Frage gestellt....

    Grüße
    EarlFred
     
  8. Wie kann hinter "Then" gleich "Else" stehen?

    Hallo EarlFred,

    ich muss gestehen, ich habe mit erst jetzt den Code genauer angesehen. Der macht das genaue Gegenteil von dem was im Kommentar steht und das 40.000.000 mal mit der selben Zahl. Einige Zeilen sind blanker Unsinn.

    Brrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
     
  9. Hi

    ^^
    for allem das i = i
    find ich gut
    400 000 mal leerer Durchlauf, den was hat das k da drinnen zu suchen ^^
    und ein array gibt es auch ^^
    sollte das k das i sein?
    und die Abfrage am Ende der 400 000 Durchgänge *Smilie
    auf blnIsFalse

    öhmm, *wink.gif*
    da sollte mal der Unterschied zwischen "formale Semantik" und "Syntax" erklärt werden.

    Code:
     
    chris-kaiser, 15. September 2010
    #9
  10. Hallo Chris,

    Vierhundertausend? Ich seh da Vierzigmillionen.
     
  11. hi

    ^^
    wenn man die Abfragen die sinnlos durchlaufen werden mitzählt, stimmt

    interessant wäre ob es vielleicht noch ob eine / es Schleife(n) aussen existier(t)en z.B mit k dann wird die > verzigMrd. leicht geknackt.
    *grins
    bzw. würde mich auch interessieren wo er sein Array bekommt.

    UPS stimmt da steht ja wirklich 40 000 000 ^^
     
    chris-kaiser, 15. September 2010
    #11
Thema:

Wie kann hinter "Then" gleich "Else" stehen?

Die Seite wird geladen...
  1. Wie kann hinter "Then" gleich "Else" stehen? - Similar Threads - Then Else stehen

  2. If-Then-Else...Verständnisfrage zu Kriterium String > Zahl

    in Microsoft Access Hilfe
    If-Then-Else...Verständnisfrage zu Kriterium String > Zahl: Hallo, ich habe eine Funktion erstellt. Diese wird mit Werten gefüttert, generell Zahlen als String und "echte" Strings. Damit ich mit den Zahlen Vergleiche anstellen kann wandele ich diese mit...
  3. IF THEN ELSE mit mehr als 2 Anweisungen nach Prüfung

    in Microsoft Excel Hilfe
    IF THEN ELSE mit mehr als 2 Anweisungen nach Prüfung: Hallo, kann mir bitte jemand weiterhelfen, ich möchte bei folgendem Skript folgende Dinge tun: 1. mindestens 2 Bedingungen zur Prüfung (das sollte mit "And" klappen?) 2. dann auch mehr als 2...
  4. VBA: Mehrere Bedingungen in einer if then else Anweisung

    in Microsoft Excel Hilfe
    VBA: Mehrere Bedingungen in einer if then else Anweisung: Hallo zusammen*mrcool , ich möchte erreichen, dass eine Zeile (im Beispiel, GLSeg1MC) eingeblendet wird, wenn 3 Bedingungen additiv erfüllt sind. Ich habe es erfolglos, wie folgt, versucht: If...
  5. Kombinationsfeld sperren od. freigeben wenn Bedingungen erfüllt (if then else ...)

    in Microsoft Access Hilfe
    Kombinationsfeld sperren od. freigeben wenn Bedingungen erfüllt (if then else ...): Guten Abend liebe Forumsmitglieder Ich habe ein Kombinationsfeld Namens: "KatFKAuswahl" wo ich eine Liste an Auswahlmöglichkeiten in einem Formular (Namens: frm_Personen) habe. Damit man eine...
  6. "If...Then...Else"-Makroblock

    in Microsoft Access Tutorials
    "If...Then...Else"-Makroblock: "If...Then...Else"-Makroblock Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  7. Verwirrung mit IF then else

    in Microsoft Excel Hilfe
    Verwirrung mit IF then else: Hallo liebe Community, ich versuche mir gerade eine Tabelle zu basteln und habe folgendes Problem. Ich habe eine Combo Box erstelllt wo man aus einer Produktpreisliste ein Produkt auswaehlen...
  8. IF Then Els End If Problem

    in Microsoft Excel Hilfe
    IF Then Els End If Problem: Dieses Problem blockiert mich schon seit Tagen immer wieder. Bisher probiere ich solange bis irgendwas passt ohne es zu verstehen. In meiner Logik dachte ich bisher, was ich öffne muss auch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden