For To Schleife - Bedingung - leere Zelle

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    For To Schleife - Bedingung - leere Zelle

    hallo zusammen,

    folgendes Problem:

    habe zwei For-To schleifen geschachtelt und es soll eine bei Erfüllung einer Bedingung diese Ergebnisse in einer Zelle wiedergeben.

    ABER WENN DIE BEDINGUNG NICHT ERFÜLLT IST BLEIBT BEI MIR DIE ZELLE LEER--> er soll dies überspringen!!



    DANKE für die Hilfe

    Visual Basic-Quellcode

    1. For y = 0 To 1
    2. ' 111 Zeilen
    3. For i = 0 To 1
    4. Worksheets("Grunddaten").Cells(3, 4) = Worksheets("Verz_Var").Cells(2, 2 + y)
    5. Worksheets("Grunddaten").Cells(5, 4) = Worksheets("Verz_Var").Cells(4 + i, 2 + y)
    6. 'Modul wird zugewiesen
    7. For x = 0 To Worksheets("Modul").Cells(3, 4)
    8. Worksheets("Grunddaten").Cells(6, 4) = Worksheets("Modul").Cells(5 + x, 3)
    9. ' Bedingungen werden geprüft
    10. If Cells(60, 3) = 1 Then
    11. ' Werte für die St-Plus Berechnung
    12. ' y*112 setzen z.B.: 3 + i * (a + 1) + y * 112 + x, 2
    13. Worksheets("st plus").Cells(3 + i * (a + 1) + y * 2 * (a + 1) + x, 2) = Cells(6, 4)
    14. Worksheets("st plus").Cells(3 + i * (a + 1) + y * c * (a + 1) + x, 3) = Cells(7, 4)
    15. Worksheets("st plus").Cells(3 + i * (a + 1) + y * 2 * (a + 1) + x, 4) = Cells(3, 4)
    16. Worksheets("st plus").Cells(3 + i * (a + 1) + y * 2 * (a + 1) + x, 5) = Round(Cells(4, 4), 0)
    17. Worksheets("st plus").Cells(3 + i * (a + 1) + y * 2 * (a + 1) + x, 6) = Cells(5, 4)
    18. End If
    19. Next x
    20. Next i
    21. Next y



    Edit by hal2000:
    - Gehört ins VBA-Forum
    --> Topic verschoben
    --> Code-Tags eingefügt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Ich frage mich, warum Du Deinem Projekt die Eigenschaft Option Strict On nicht gegeben hast.
    Dann gibt es über dem Edit-Feld den VB-Tag, da sieht der Code wie Quellcode aus.
    Und dann sag bitte noch, wo was passiert, bzw. nicht passiert.
    Vielleicht hilft ein Haltepunkt (F9) und schrittweise Abarbeitung Deines Programmes (F10, F11) schon weiter.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ich bin ein ganz großer Anfänger,,, kanns du bitte dich einfacher ausdrucken :)

    ich habe mir soeben Option Strict On durchgelesen --> leider nicht verstanden!!Edit-Feld den VB-Tag ? ;(

    Also die Schleife funktioniert aber mir gehts um folgendes:

    • wenn z.b. 1+2 und 1+3 und 1+4 bei IF (BEDINGUNG <4 nicht rechnen)

    ergibt sich folgendes Zelle1=3 (die Zelle Bleibt leer) Zelle=4 Zelle= 5

    Die Zelle soll nicht leer bleiben sondern mit dem nächsten Wert anfangen.

    • erste Schleife gibt werte z.B.: 1,2,3 in Zellen 1A ,2A,3A aus die zweite schleife soll dort weiter schreiben wo die erste schleife aufgehört hat. also bei 4A

    DANKE VORAB

    A.K.K. schrieb:

    bei IF (BEDINGUNG <4 nicht rechnen) ergibt sich folgendes Zelle1=3 (die Zelle Bleibt leer)
    Dann schreibe in eine Else-Bedingung, wie du die Zelle in diesem Fall füllen willst.

    Die einzige IF-Bedingung, die ich in deinem Code sehe ist

    Visual Basic-Quellcode

    1. If Cells(60, 3) = 1 Then
    Das hat aber irgendwie nichts mit deiner Fehlerbeschreibung zu tun.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --