For Next Schleife bei variabler Anzahl von Zeilen in Spalte A!

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Novazizo|Sabrina.

    For Next Schleife bei variabler Anzahl von Zeilen in Spalte A!

    Hallo Community,

    ich habe ein verständnisproblem...

    Bei einer For Next Schleife kann man angeben wie lange die Schleife ausgeführt wird. Wie kann ich diese Angabe variabel halten?

    Folgendes Problem:

    Ich habe ein Makro welches aus Zelle A1 Ziffern in einen Code übersetzt und diesen in Zelle B1 schreibt.
    Dieser Code soll jetzt in eine Schleife gelegt werden damit das Makro alle Zellen in Spalte A übersetzt und in die jeweilige B-Zelle schreibt.

    Es kann also sein das Spalte A 10 Werte enthält oder auch mal 200 Werte... deswegen sollte die Schleife variabel sein.

    Ich hoffe ich konnte mein Problem einigermaßen gut erklären.

    Wäre über jede Hilfe dankbar
    Vielleicht hilft das euch auch noch weiter....

    hier der Code:

    Visual Basic-Quellcode

    1. Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    2. chan = DDEInitiate("Barcode", "Hauptdialog")
    3. DDEEX "MINI"
    4. DDEEX "Code 39"
    5. DDEPoke chan, "Nutzziffer", [a1]
    6. DDEEX ("BERECHNEN")
    7. [b1].Font.Name = DDERequest(chan, "Schriftart")
    8. [b1].Font.Size = DDERequest(chan, "Schriftgr")
    9. [b1] = DDERequest(chan, "Gesamtfolge")
    10. DDETerminate chan
    11. End Sub
    Mit Worksheets("Tabelle1").UsedRange.Rows.Count bekommst du die Anzahl der Zeilen raus, welche dur für die For-Scheife verwenden kannst, oder steige gleich auf While-Schleife um.
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Hallo nochmal,

    danke für die vielen Anworten...

    hier meine Lösung (funktioniert einwandfrei):

    Visual Basic-Quellcode

    1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    2. Tabelle1.CommandButton1.Top = Tabelle1.Rows(ActiveWindow.ScrollRow).Top
    3. End Sub


    Visual Basic-Quellcode

    1. Private Sub CommandButton1_Click()
    2. Dim Lastone As Integer
    3. Dim Zähler As Integer
    4. Lastone = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
    5. For Zähler = 1 To Lastone
    6. chan = DDEInitiate("Barcode", "Hauptdialog")
    7. DDEEX "MINI"
    8. DDEEX "Code 39"
    9. DDEPoke chan, "Nutzziffer", Cells(Zähler, 1)
    10. DDEEX ("BERECHNEN")
    11. Cells(Zähler, 2).Font.Name = DDERequest(chan, "Schriftart")
    12. Cells(Zähler, 2).Font.Size = DDERequest(chan, "Schriftgr")
    13. Cells(Zähler, 2) = DDERequest(chan, "Gesamtfolge")
    14. DDETerminate chan
    15. Next Zähler
    16. End Sub


    Danke nochmals für die Hilfe...