2009-02-27 21 views
1

我想在整個電子表格中重複插入一個列表(如下:生成器,控制塔等)。它應該插入隔行(每個渦輪後面)並按下圖所示偏移一列。我不知道如何編寫一個宏來自動執行此操作。任何幫助表示讚賞。重複在行之間插入信息的宏

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 

回答

0

這應該做的伎倆:

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 

我假定渦輪條目都在Excel文件的第一列。