Schleife öfters hintereinander in Arbeitsmappe ausgeben

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Tony-S.

    Schleife öfters hintereinander in Arbeitsmappe ausgeben

    Hallo Forum,

    mit Schleifen werde ich mich wohl nie so richtig anfreunden,
    geht es darum Ordnerstrukturen auszulesen, so etwas ist einfach.

    Aber mein "Problem" ist folgendes ich möchte einfach eine Schleife x-mal aus geben und das untereinander ab der zweiten Zeile in einer Excel-Arbeitsmappe. Also in etwa so:

    1
    2
    3
    1
    2
    3

    Die Anzahl der Durchgänge lege ich mit einem Spinbutton fest.

    Ein Durchgang ist noch einfach:

    Visual Basic-Quellcode

    1. Dim Anzahl as Byte
    2. Dim i as Byte
    3. Anzahl= Sheets("Tabelle 1").Range("A1").Value
    4. 'Der Wert in A1 ist z. B. 3
    5. For i= 2 To Anzahl+ 1
    6. Sheets("Tabelle 2").Range("C" & i).Value = i - 1
    7. Next i


    So gebe ich ab der zweiten Zeile bis zum Endwert die Ziffern aus.
    Jetzt hab ich mir gedacht, das ich eigentlich nur den Wert des Spinbuttons mit dem Maximum an Zeilen multiplizieren und + 1 rechnen muss, damit die Schleife eine Zeile nach dem Ende wieder von vorn anfängt... hoffentlich versteht man meine Ausführung :D

    So in etwa..:

    Visual Basic-Quellcode

    1. For i= 2 To Anzahl+ 1
    2. Sheets("Tabelle 2").Range("C" & i * Spinbutton1.Value +1).Value = i - 1
    3. Next i


    Ich steige da irgendwie nicht hinter die Logik...
    Was muss ich denn machen, wäre klasse wenn jemand bereit ist mir zu zeigen, wie und warum, weil ich will das ja dann verstehen.

    Ich habe das gleiche Thme übrigens auch hier eröffnet: office-loesung.de/ftopic462914_0_0_asc.php#1933311
    Aber ich glaube hier wisst ihr schneller Rat. Thx

    ->EDIT<-

    Wenn ich das aus Spaß mal nur in einer Listbox ausgebe, also in keine Mappe ist es einfach..

    Visual Basic-Quellcode

    1. Dim Anzahl As Byte
    2. Dim Durchgang As Byte
    3. For Durchgang = 1 To 3
    4. For Anzahl = 1 To 5
    5. ListBox1.AddItem (Anzahl )
    6. Next Fragen
    7. Next Durchgang


    Aber wie setzt man das als Ausgabe in einer Mappe um :P?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Tony-S“ ()

    Tony-S schrieb:

    Aber wie setzt man das als Ausgabe in einer Mappe um

    Visual Basic-Quellcode

    1. Set Sheet = Sheets("Ausgabe")
    2. Sheet.Cells.ClearContents
    3. For Durchgang = 1 To 3
    4. For Anzahl = 1 To 5
    5. Sheet.Cells((Durchgang - 1) * 5 + Anzahl + 1, 1).Formula = Anzahl
    6. Next Anzahl
    7. Next Durchgang
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Alles klar das funzt, ich glaube das kann ich verwenden, aber:

    Visual Basic-Quellcode

    1. Sheet.Cells((Durchgang - 1) * 5 + Anzahl + 1, 1).Formula = Anzahl


    Warum minus 1 und ist 1,1 der Index A1 also links beginnend mit 1 und von oben mit 0?, und was macht Formula ^^?

    Okay es ist wohl anders rum Y, X quasi.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tony-S“ ()