Vba 宏在行之间重复插入信息

Vba 宏在行之间重复插入信息,vba,excel,Vba,Excel,我想在电子表格中重复插入一个列表(如下:发电机、控制塔等)。它应该每隔一行插入(在每个涡轮机之后),并偏移一列,如下所示。我不知道如何编写宏来自动执行此操作。感谢您的帮助 TURBINE A-2 Generator Control Tower Brakes Pitch System Hydraulic System Cooling System Oil Filtration System Lighting System As

我想在电子表格中重复插入一个列表(如下:发电机、控制塔等)。它应该每隔一行插入(在每个涡轮机之后),并偏移一列,如下所示。我不知道如何编写宏来自动执行此操作。感谢您的帮助

TURBINE A-2
    Generator
    Control Tower
    Brakes
    Pitch System
    Hydraulic System
    Cooling System
    Oil Filtration System
    Lighting System
    Ascent System
    Scada Systems
    Nacelle Cover
    Cable System
    Fire System
    Blades
TURBINE A-3 
    Generator
    Control Tower
    Brakes
    Pitch System
    Hydraulic System
    Cooling System
    Oil Filtration System
    Lighting System
    Ascent System
    Scada Systems
    Nacelle Cover
    Cable System
    Fire System
    Blades
TURBINE A-4 
TURBINE A-5 
TURBINE A-6 
TURBINE A-7 

这应该可以做到:

Public Sub AddEntries()
    Dim InsertionRange As Range
    Dim HeaderRow As Integer
    Dim RowIndex As Integer

    Const ListSize = 14
    Dim ListEntries(1 To ListSize) As String
    ListEntries(1) = "Generator"
    ListEntries(2) = "Control Tower"
    ListEntries(3) = "Brakes"
    ListEntries(4) = "Pitch System"
    ListEntries(5) = "Hydraulic System"
    ListEntries(6) = "Cooling System"
    ListEntries(7) = "Oil Filtration System"
    ListEntries(8) = "Lighting System"
    ListEntries(9) = "Ascent System"
    ListEntries(10) = "Scada Systems"
    ListEntries(11) = "Nacelle Cover"
    ListEntries(12) = "Cable System"
    ListEntries(13) = "Fire System"
    ListEntries(14) = "Blades"

    HeaderRow = 1
    While (Cells(HeaderRow, 1).Value <> "")
        Rows(Trim$(Str$(HeaderRow + 1)) & ":" & Trim$(Str$(HeaderRow + ListSize))).Insert shift:=xlDown

        For RowIndex = 1 To ListSize
            Cells(RowIndex + HeaderRow, 2).Value = ListEntries(RowIndex)
        Next RowIndex

        HeaderRow = HeaderRow + ListSize + 1
    Wend
End Sub
公共子附录()
Dim InsertionRange作为范围
Dim HeaderRow为整数
将行索引设置为整数
常数ListSize=14
将ListEntries(1到ListSize)设置为字符串
列表条目(1)=“生成器”
列表(2)=“控制塔”
列表(3)=“制动器”
列表(4)=“音高系统”
列表(5)=“液压系统”
列表(6)=“冷却系统”
列表(7)=“机油过滤系统”
列表(8)=“照明系统”
列表(9)=“上升系统”
列表条目(10)=“Scada系统”
列表(11)=“机舱盖”
列表(12)=“电缆系统”
列表(13)=“消防系统”
列表条目(14)=“刀片”
HeaderRow=1
While(单元格(HeaderRow,1).Value“”)
行(Trim$(Str$(HeaderRow+1))&“&Trim$(Str$(HeaderRow+ListSize)))。插入移位:=xlDown
对于RowIndex=1的列表大小
单元格(RowIndex+HeaderRow,2)。值=列表项(RowIndex)
下一行索引
HeaderRow=HeaderRow+ListSize+1
温德
端接头
我假设涡轮机条目都在excel文件的第一列中