Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Schleifenerstellung

Forumthread: Schleifenerstellung

Schleifenerstellung
03.01.2026 12:35:00
Werner
Guten Tag VBA Fachleute!
Ich möchte eine Schleife erstellen, um folgende Berechnung zu ermöglichen.

Werte 3 bis 7 in jeweils eine Zelle und danach Werte 9 bis 19 in weitere Zellen
eintragen.

In Zelle A1 Wert 3, Zelle A2 Wert 4, Zelle A3 Wert 5, Zelle A4 Wert 6, Zelle A5 Wert 7, Zelle A6 Wert 9,
Zelle A7 Wert 10 usw. bis Zelle A16 Wert 19.

Meine Kenntnisse in der Erstellung von Schleifen ist nicht gut.

Kann mir geholfen werden mit evtl. Tipps oder Anregungen?

Schöne Grüße Werner



Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifenerstellung
03.01.2026 12:53:30
JoWE
Hallo Werner,
wenn ich die Aufgabe korrekt verstanden habe, wäre eine Möglichkeit diese:
Die Schleife startet in Zeile 1 und schreibt bei jeder Wiederholung bis zur Zeile 19 den
Wert des Schleifenzählers in die Zelle. Also A1 = 1, A2 = 2 usw.
Zu Schluss wird die Zelle A8 geleert!

Option Explicit
Sub schleife()

Dim ze As Long
For ze = 1 To 19
Cells(ze, 1) = ze
Next
Cells(8, 1).Clear
End Sub

Gruß
Jochen
Anzeige
AW: Schleifenerstellung
03.01.2026 13:42:04
RPP63
Moin!
Zweizeiler ohne Schleife:
Sub Dingens()

Range("A1:A16") = [row(3:19)]
Range("A6").Delete xlUp
End Sub

Gruß Ralf
Hier noch eine Version,...
03.01.2026 14:22:24
Case
Moin Werner, :-)

... ohne Schleife: ;-)

'Excel 2010

Range("A1:A16").Value = Application.Index(Evaluate("ROW(3:19)"), Evaluate("ROW(1:16)+(ROW(1:16)>=6)"))
'Excel 365
Range("A1:A16").Value = Evaluate("FILTER(ROW(3:19),ROW(3:19)>8)")

Servus
Case
Anzeige
AW: Schleifenerstellung
03.01.2026 14:40:23
Daniel
Hi

Wenn die 8 keine Lücke erzeugen soll:



Dim i as Long
Dim z as Long

z = 1
For i = 3 to 19
Select case i
Case 8
Case else
Cells(z, 1) = i
z = z + 1
End select
Next


Gruß Daniel
Anzeige
AW: Schleifenlos noch
03.01.2026 15:44:58
GerdL
Hallo Werner!
Sub Unit()


With Range("A1:A16")
.Formula = "=ROW() + 2 + (ROW() > 5)"
.Formula = .Value
End With

End Sub

Gruß Gerd
Außer Konkurrenz
03.01.2026 19:42:54
RPP63
In aktuellen Excel-Versionen frühstückt man so etwas auch mit einer einzigen Formelzelle ab:
=NACHZEILE(SEQUENZ(16;;3);LAMBDA(s;WENN(s>7;s+1;s)))

 B
13
24
35
46
57
69
710
811
912
1013
1114
1215
1316
1417
1518
1619

ZelleFormel
B1=NACHZEILE(SEQUENZ(16;;3);LAMBDA(s;WENN(s>7;s+1;s)))
Anzeige
Aufbauend auf Gerd
03.01.2026 15:53:24
RPP63
Ich mag ja die Evaluate-Klammern []:
Sub Dingens()

[A1:A16] = [ROW(3:19) + (ROW(3:19) > 7)]
End Sub
AW: Aufbauend auf Gerd
03.01.2026 15:56:05
RPP63
Obiges funktioniert zwar, ist aber nicht sauber ausformuliert.
Deshalb eher:
Sub Dingens()

[A1:A16] = [ROW(3:18) + (ROW(3:18) > 7)]
End Sub
Anzeige
AW: Schleifenerstellung
03.01.2026 13:46:40
Werner
Hallo RPP63,

auch Dein Vorschlag ist super.

Werde ich als eine weitere Möglichkeit ausprobieren.

Schöne Grüße Werner
AW: Schleifenerstellung
03.01.2026 13:09:28
BoskoBiati
Hi,

Werte 3 bis 7
also 3 in A1 eintragen, 4 in A2, dann beide Zellen markieren und nach unten ziehen, bis der gesuchte Wert erreicht ist. Zellen mit ungewünschten Zahlen löschen.

Gruß

Edgar
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18