Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

FOR Schleife?

FOR Schleife?
08.07.2022 17:03:23
MMRH
Hallo Allerseits.
Ich weiß nicht, ob es eine Lösung mittels For-Schleife für mein Problem gibt, oder ob es eine andere Lösung sein wird. Aber ich stehe auf dem Schlauch und habe das Gefühl, dass ich an einem einfachen Dreisatz scheitere.
Ich will folgendes verkürzen:
1. Ausgangslage
Cells(4, 3).Value = Sheets("Kommune").Cells(2, 5).Value
Cells(5, 3).Value = Sheets("Kommune").Cells(3, 5).Value
Cells(6, 3).Value = Sheets("Kommune").Cells(4, 5).Value
Cells(7, 3).Value = Sheets("Kommune").Cells(5, 5).Value
Cells(8, 3).Value = Sheets("Kommune").Cells(6, 5).Value
Cells(9, 3).Value = Sheets("Kommune").Cells(7, 5).Value
'dann: hier ist eine Lücke von 5 Zeilen
Cells(14, 3).Value = Sheets("Kommune").Cells(2, 6).Value
Cells(15, 3).Value = Sheets("Kommune").Cells(3, 6).Value
Cells(16, 3).Value = Sheets("Kommune").Cells(4, 6).Value
Cells(17, 3).Value = Sheets("Kommune").Cells(5, 6).Value
Cells(18, 3).Value = Sheets("Kommune").Cells(6, 6).Value
Cells(19, 3).Value = Sheets("Kommune").Cells(7, 6).Value
'Wieder Lücke von 5 nach 6 Einträgen....
'bis
Cells(1254, 3).Value = Sheets("Kommune").Cells(2, 130).Value
2. Ausgangslage
Cells(4, 3).Value = Sheets("Kommune").Cells(2, 5).Value
Cells(14, 3).Value = Sheets("Kommune").Cells(2, 6).Value
Cells(24, 3).Value = Sheets("Kommune").Cells(2, 7).Value
Cells(34, 3).Value = Sheets("Kommune").Cells(2, 8).Value
'bis
Cells(1254, 3).Value = Sheets("Kommune").Cells(2, 130).Value
'dann
Cells(5, 3).Value = Sheets("Kommune").Cells(3, 5).Value
Cells(15, 3).Value = Sheets("Kommune").Cells(3, 6).Value
Cells(25, 3).Value = Sheets("Kommune").Cells(3, 7).Value
Cells(35, 3).Value = Sheets("Kommune").Cells(3, 8).Value
Cells(45, 3).Value = Sheets("Kommune").Cells(3, 9).Value
Cells(55, 3).Value = Sheets("Kommune").Cells(3, 10).Value
'bis
Cells(1255, 3).Value = Sheets("Kommune").Cells(3, 130).Value
'wiederholung bis 9,3 , 19,3 und schließlich 1259,3.....
Wie kann ich das verkürzen ohne alles einzeln zu tippen.
Dank im Voraus.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FOR Schleife?
08.07.2022 17:17:09
onur

For i = 0 To 125 Step 5
Cells(10 * i + 4, 3).Value = Sheets("Kommune").Cells(2, 5 + i).Value
Cells(10 * i + 5, 3).Value = Sheets("Kommune").Cells(3, 5 + i).Value
Cells(10 * i + 6, 3).Value = Sheets("Kommune").Cells(4, 5 + i).Value
Cells(10 * i + 7, 3).Value = Sheets("Kommune").Cells(5, 5 + i).Value
Cells(10 * i + 8, 3).Value = Sheets("Kommune").Cells(6, 5 + i).Value
Cells(10 * i + 9, 3).Value = Sheets("Kommune").Cells(7, 5 + i).Value
Next i
For i = 0 To 125 Step 5
Cells(i * 10 + 4, 3).Value = Sheets("Kommune").Cells(2, 5 + i).Value
Next i
For i = 0 To 125 Step 10
Cells(i * 10 + 5, 3).Value = Sheets("Kommune").Cells(3, 5 + i).Value
Next i

Anzeige
AW: FOR Schleife?
08.07.2022 17:28:52
onur
Eigentlich reicht die erste Schleife, der Rest ist ja nur Wiederholung.
AW: FOR Schleife?
08.07.2022 18:01:33
Daniel
Hi
Ich würde das so programmieren:

Dim z as long, s as long
s = 5
For z = 4 to 1254 step 10
Cells(z, 3).resize(6, 1).value = Sheets("Kommune").Cells(2, s).resize(6, 1).value
s = s + 1
Next
Also for Schleife mit Step und die Blöcke dann mit Resize bilden, so dass du nicht jede Zelle einzeln übernehmen musst.
Denkbar wäre auch eine Formel, die du einfach in alle Zellen eintragen kannst
In C4:

=Wenn(und(Rest(Zeile();10)>=4;Rest(Zeile();10)
Mit dieser Formel ließe sich das ganze ohne Schleife in 4 Zeilen darstellen:

with Range("C4:C1263")
.formulaLocal = "=Wenn(und(Rest(Zeile();10)>=4;Rest(Zeile();10)
Gruß Daniel
Anzeige
AW: FOR Schleife?
11.07.2022 09:03:37
MMRH
Hi Daniel, Hi Onur,
danke für den Input. In der Nacht nach der Frage bin ich auf die Idee gekommen Blöcke zu kopieren. Wie das umsetzbar sein sollte, war mir nicht klar. Aber Daniel hat mit resize die Antwort geliefert. Vielen Dank dafür.
Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige