Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife funktioniert fast :D

Forumthread: Schleife funktioniert fast :D

Schleife funktioniert fast :D
16.01.2019 09:24:58
Arthur
Guten Morgen zusammen,
ich habe folgenden Code (Ausschnitt):
Private Sub CommandButton3_Click()
Anz = Tabelle3.Range("H3")
Cells(Start, 2).Resize(Anz, 1) = Tabelle3.Range("B3")
Cells(Start, 3).Resize(Anz, 1) = Tabelle3.Range("D3")
Cells(Start, 9).Resize(Anz, 1) = Tabelle3.Range("G3")
Cells(Start, 11).Resize(Anz, 1) = Tabelle3.Range("C3")
Cells(Start, 10).Resize(Anz, 1) = Tabelle3.Range("P3")
Start = Start + Anz
ReDim vArr(1 To Tabelle3.Range("H3"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("E3") + (i - 1) * DauerF
Next
Cells(24, 4).Resize(UBound(vArr)) = vArr
ReDim vArr(1 To Tabelle3.Range("H3"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("F3") + (i - 1) * DauerT
Next
Cells(24, 8).Resize(UBound(vArr)) = vArr
Anz = Tabelle3.Range("H4")
Cells(Start, 2).Resize(Anz, 1) = Tabelle3.Range("B4")
Cells(Start, 3).Resize(Anz, 1) = Tabelle3.Range("D4")
Cells(Start, 9).Resize(Anz, 1) = Tabelle3.Range("G4")
Cells(Start, 11).Resize(Anz, 1) = Tabelle3.Range("C4")
Cells(Start, 10).Resize(Anz, 1) = Tabelle3.Range("P4")
Start = Start + Anz
ReDim vArr(1 To Tabelle3.Range("H4"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("E4") + (i - 1) * DauerF
Next
With Tabelle3
Cells(24 + .Range("H3"), 4).Resize(UBound(vArr)) = vArr
End With
ReDim vArr(1 To Tabelle3.Range("H4"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("F4") + (i - 1) * DauerT
Next
With Tabelle3
Cells(24 + .Range("H3"), 8).Resize(UBound(vArr)) = vArr
End With
Anz = Tabelle3.Range("H5")
Cells(Start, 2).Resize(Anz, 1) = Tabelle3.Range("B5")
Cells(Start, 3).Resize(Anz, 1) = Tabelle3.Range("D5")
Cells(Start, 9).Resize(Anz, 1) = Tabelle3.Range("G5")
Cells(Start, 11).Resize(Anz, 1) = Tabelle3.Range("C5")
Cells(Start, 10).Resize(Anz, 1) = Tabelle3.Range("P5")
Start = Start + Anz
ReDim vArr(1 To Tabelle3.Range("H5"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("E5") + (i - 1) * DauerF
Next
With Tabelle3
Cells(24 + .Range("H3") + .Range("H4"), 4).Resize(UBound(vArr)) = vArr
End With
ReDim vArr(1 To Tabelle3.Range("H5"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("F5") + (i - 1) * DauerT
Next
With Tabelle3
Cells(24 + .Range("H4") + .Range("H3"), 8).Resize(UBound(vArr)) = vArr
End With
End Sub

Diesen COde möchte ich in eine schlafe packen:

Dieser Teil:
Anz = Tabelle3.Range("H3")
Cells(Start, 2).Resize(Anz, 1) = Tabelle3.Range("B3")
Cells(Start, 3).Resize(Anz, 1) = Tabelle3.Range("D3")
Cells(Start, 9).Resize(Anz, 1) = Tabelle3.Range("G3")
Cells(Start, 11).Resize(Anz, 1) = Tabelle3.Range("C3")
Cells(Start, 10).Resize(Anz, 1) = Tabelle3.Range("P3")
Start = Start + Anz
Funktioniert:

Private Sub CommandButton1_Click()
Dim z As Long
Dim i As Long
Dim j As Long
With Tabelle3
i = 24
For z = 3 To 6
j = .Cells(z, 8)
Cells(i, 2).Resize(j, 1) = .Cells(z, 2)
Cells(i, 3).Resize(j, 1) = .Cells(z, 4)
Cells(i, 11).Resize(j, 1) = .Cells(z, 3)
Cells(i, 9).Resize(j, 1) = .Cells(z, 7)
Cells(i, 10).Resize(j, 1) = .Cells(z, 16)
i = i + j
Next
End With
End Sub
Dieser Teil leider nicht:
ReDim vArr(1 To Tabelle3.Range("H5"), 1 To 1)
For i = 1 To UBound(vArr())
vArr(i, 1) = Tabelle3.Range("F5") + (i - 1) * DauerT
Next
With Tabelle3
Cells(24 + .Range("H4") + .Range("H3"), 8).Resize(UBound(vArr)) = vArr
End With
Ansatz:
Private Sub CommandButton2_Click()
Dim z As Integer
Dim i As Long
Dim j As Long
Dim vArr()
i = 3
For q = 3 To 6
ReDim vArr(1 To Tabelle3.Cells(i, 8), 1 To 1)
For z = 1 To UBound(vArr())
vArr(z, 1) = Tabelle3.Cells(i, 5) + (z - 1) * 14
Next
Cells(24 + i, 4).Resize(UBound(vArr)) = vArr
i = i + z
Next
Diese Schleife soll folgendes erreichen:
In "E3" steht ein Datum in "H3" in Zahl z.B. 1
-> Datum soll 1 zu 1 in Tab1. aus Tab3. übertragen werden
In "E4" steht ein Datum in "H4" in Zahl z.B. 1
-> Datum soll 1 zu 1 Tab1. aus Tab3.übertragen werden
In "E5" steht ein Datum in "H5" in Zahl z.B. 3
-> Datum soll 1 zu 1 Tab1. aus Tab3. übertragen werden zusätzlich soll das Datum 2 mal jeweiles  _
um DauerF erhöht werden
usw. ...


		
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ist erledigt. o.w.T.
17.01.2019 15:51:51
Werner
Anzeige
;

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