根据数字复制列范围

Copy range of column based on number

正在尝试根据编号将一组列复制到下一个可用列中。 例如:

TemplateSheet:A|B|C|D,喜欢复制内容到另一个sheet,按组号连续添加

NoOfgroups = 4

For aGroup = 0 To sNoOfgroups:
    Worksheets("TemplateSheet").Range("A:D").Copy
    Worksheets("Row1").Range("A:D").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Worksheets("Row1").Select

Next

如何将 A:D 复制到下一组,例如 E:H,然后 I:L,

使用列偏移复制

Option Explicit

Sub CopyOffset()

    Const NoOfgroups As Long = 4
    
    Dim wb As Workbook: Set wb = ThisWorkbook ' workbook containing this code
    
    Dim srg As Range: Set srg = wb.Worksheets("TemplateSheet").Range("A:D")
    Dim scCount As Long: scCount = srg.Columns.Count
    
    Dim dfCell As Range: Set dfCell = wb.Worksheets("Row1").Range("A1")
    
    Dim aGroup As Long
    
    For aGroup = 1 To NoOfgroups
        srg.Copy dfCell
        Set dfCell = dfCell.Offset(, scCount)
    Next aGroup

End Sub