VBA:把每隔一行自动添加N行空白行

思路:

新建一个sheet,把表头和第二行先复制黏贴过来,然后从第三行开始遍历,每复制黏贴一行后再往下延N行,直至把原表数据完全复制完毕
VBA:把每隔一行自动添加N行空白行_第1张图片

1、辅助函数

Sub create_sheet(i As String)
'
' 宏3 宏
'

'
    On Error GoTo 999
    Sheets("新sheet").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Exit Sub
999
    Sheets.Add
    ActiveSheet.Name = "新sheet"
    
End Sub

2、主要函数

Sub 自动添加行()
'
' 宏1 宏
'
    '添加sheet
    Call create_sheet(1)
    
    '把表头复制黏贴
    Sheets("导入模板").Select
    Range("A1:F1").Select
    Selection.Copy
    Sheets("新sheet").Select
    Range("A1").Select
    ActiveSheet.Paste
    
    '把除表头外的第一行复制黏贴
    Sheets("导入模板").Select
    Range("A2:F2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("新sheet").Select
    Range("A2:F2").Select
    ActiveSheet.Paste
    
    '开始遍历并复制黏贴
    Dim i As Integer
    For i = 3 To 469  '这里修改原始sheet的最大行
        j = (i - 2) * 9 + 2 '这里修改每一行间插入几行,比如是8行,这边就填8+1=9
        Sheets("导入模板").Select
        Range("A" & i & ":F" & i).Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("新sheet").Select
        Range("A" & j).Select
        ActiveSheet.Paste
    Next
    
End Sub

成果:

VBA:把每隔一行自动添加N行空白行_第2张图片

你可能感兴趣的:(VBA,VBA)