Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1668to1672
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

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. ...


		

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige