Ich habe ein Problem mit dem Erstellen mehrerer/verschachtelte Schleifen. Ich könnte einen Code-Block schreiben und ihn jedes Mal 17-mal mit leichten Änderungen wiederholen, aber ich versuche das zu vermeiden.Mehrere Schleifen in Excel VBA
Mein Code sieht wie folgt aus und alles andere ist in Ordnung, außer den Abschnitten gegen Ende, wo ich 'Loop benötigt' hinzugefügt habe.
Also im Grunde sollte die Schleife "AJ2, AK2, ..., AZ2" und "1, 2, ..., 17" enthalten.
Jede Hilfe wird sehr geschätzt. Ich habe seit Wochen damit zu kämpfen.
Sub Test()
Worksheets("SheetName").Activate
Range("A1").CurrentRegion.Copy
Worksheets("NewSheet").Activate
Range("A1").PasteSpecial
Range("A1").PasteSpecial xlPasteColumnWidths
Dim c As Range
Dim col1 As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Dim lastrow As Long
Set Source = ActiveWorkbook.Worksheets("SheetName")
Set Target = ActiveWorkbook.Worksheets("NewSheet")
Set col1 = Source.Range("SheetName[Col]")
j = 2
For Each c In col1
If c >= Range("AJ2") Then 'loop needed with "AJ2"
Source.Range("A" & c.Row & ":BN" & c.Row).Copy
Target.Range("A" & Range("E65536").End(xlUp).Row + 1).PasteSpecial xlPasteValues
Target.Range("BO" & Rows.Count).End(xlUp).Value = DateAdd("m", 1, Range("BO2").Value) 'loop needed with 1
j = Range("A65536").End(xlUp).Row + 1
End If
Next c
For Each c In col1
If c >= Range("AK2") Then 'loop needed with "AK2"
Source.Range("A" & c.Row & ":BN" & c.Row).Copy
Target.Range("A" & Range("E65536").End(xlUp).Row + 1).PasteSpecial xlPasteValues
Target.Range("BO" & Rows.Count).End(xlUp).Value = DateAdd("m", 2, Range("BO2").Value) 'loop needed with 2
j = Range("A65536").End(xlUp).Row + 1
End If
Next c
End Sub
Schreiben Sie eine * Funktion *, die 'Range (" AJ2 ")' & c. als * Parameter * – Bathsheba