Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code verkürzen

Forumthread: Code verkürzen

Code verkürzen
11.03.2004 15:58:50
Isabell
Hallo Leute, ich habe hier ein Listing das ziemlich lang ist, da es sich
immer wiederholt, nur das sich jedesmal die Zeile um 2, und die Spalte um 1
erweitert.
Könnte das jemand kürzer schreiben ?
Gruß
Isabell

Private Sub CommandButton1_Click()
AplicationScreenapdating = False
Dim i As Integer, j As Integer, k As Integer, l As Integer
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("A" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 7, (5 * k) - 1).Value
Next
k = 7
Worksheets("Auswertung").Range("A" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 7, 33).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("B" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 9, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("B" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 9, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("C" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 11, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("C" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 11, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("D" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 13, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("D" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 13, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("E" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 15, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("E" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 15, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("F" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 17, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("F" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 17, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("G" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 19, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("G" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 19, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("H" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 21, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("H" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 21, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("I" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 23, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("I" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 23, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("J" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 25, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("J" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 25, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("K" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 27, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("K" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 27, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("L" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 29, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("L" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 29, 35).Value
j = j + 35
l = l + 7
Next
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Range("M" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 31, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Range("M" & k + l).Value = _
Worksheets("Wochenplan").Cells(j + 31, 35).Value
j = j + 35
l = l + 7
Next
AplicationSreenapdating = True
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Noch ne Schleife
11.03.2004 16:42:44
Franz W.
Hallo Isabell,
bin leider nicht so fit, dir das aus dem Ärmel hinzuschreiben. Und zum Testen fehlt mir jetzt die Zeit. Aber vielleicht hilft dir das schon weiter:
Statt: "Range("A" & k + l)"
kannst du auch schreiben: "Cells(k + 1, 1)", wobei die 1 nach dem Komma für Spalte "A" steht.
Statt dieser 1 nimmst du jetzt eine weitere Variable "x" und schreibst:
"Cells(k + 1, x)"
Und baust jetzt noch eine dritte Schleife ein:
For x = 1 to 13 '13 wenn es bis Spalte "M" gehen soll:
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Cells(k + 1, x).Value = _
Worksheets("Wochenplan").Cells(j + 31, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Cells(k + 1, x).Value = _
Worksheets("Wochenplan").Cells(j + 31, 35).Value
j = j + 35
l = l + 7
Next
Next x
Also wie gesagt: ungetestet !! Aber probiers doch mal
Grüße
Franz
Anzeige
Da muss nohc was rein!!
11.03.2004 16:48:31
Franz W.
Hallo Isabell,
da muss dann ja noch was rein in die Schleife, so müsste es stimmen:
For x = 1 to 13 '13 wenn es bis Spalte "M" gehen soll:
j = 0
l = 3
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Cells(k + 1, x).Value = _
Worksheets("Wochenplan").Cells(j + 31, (5 * k) + 1).Value
Next
k = 7
Worksheets("Auswertung").Cells(k + 1, x).Value = _
Worksheets("Wochenplan").Cells(j + 31, 35).Value
j = j + 35
l = l + 7
Next
Next x

Viel Glück
Franz
Anzeige
AW: Code verkürzen
11.03.2004 16:54:07
xXx
Hallo,
so sollte es gehen, kann ich aber nicht testen:

Sub Test()
Dim i As Integer, j As Integer, k As Integer, l As Integer, N As Integer
j = 0
l = 3
For N = 1 To 13
For i = 1 To 53
For k = 1 To 6
Worksheets("Auswertung").Cells(k + 1, N).Value = _
Worksheets("Wochenplan").Cells(j + 5 + 2 * N, (5 * k) - 1).Value
Next
k = 7
Worksheets("Auswertung").Cells(k + 1, N).Value = _
Worksheets("Wochenplan").Cells(j + 5 + 2 * N, 33).Value
j = j + 35
l = l + 7
Next i
Next N
End Sub

Gruß aus'm Pott
Udo
http://www.excelerator.de
Anzeige
AW: Code verkürzen
11.03.2004 17:20:49
Isabell
Hallo Leute, vielen Dank !
Werde damit noch herumprobieren.
Gruß
Isabell
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige