2016-03-31 13 views
1

長いリストをExcelで2列表示しました。 26行ごとに、2行の新しい行を挿入し、残りの行をさらに下に移動したい。だから、基本的に私はExcel:パターンごとにコンテンツを含むx行ごとに改行を挿入します。

26 ABC 
27 DEF 
28 GHI 

を持っており、それが可能だ場合、それは

26 ABC 
27 
28 
29 DEF 
30 GHI 

また、私は単純なパターンに応じて、これらの新しい行にテキストを配置したいようにしたい:

1_sometext 
1_someothertext 

2_sometext 
2_someothertext 

"1_"で始まるものは27行目と28行目に、 "2_"で始まるものは55行目と56行目に入り、数字は増分し続けます。

答えて

0

すべて可能です。このためにはVBAマクロを書くだけです。

Sub someSubForLazyGuy() 

    Dim currentSheet As Worksheet 
    Set currentSheet = Sheets("Sheet2") 

    Dim rowCounter As Long 
    Dim spaceCounter As Long 

    rowCounter = 27 
    spaceCounter = 1 
    With currentSheet 
     Do While .Cells(rowCounter, 1).Value <> "" 
      .Cells(rowCounter, 1).EntireRow.Insert 
      .Cells(rowCounter, 1).EntireRow.Insert 
      .Cells(rowCounter, 1).Value = spaceCounter & "_sometext" 
      .Cells(rowCounter + 1, 1).Value = spaceCounter & "_someothertext" 
      spaceCounter = spaceCounter + 1 
      rowCounter = rowCounter + 27 + 1 
     Loop 

    End With 
End Sub 

これは単なる簡単な動作です。行をループし、27行ごとに2つの新しい行を挿入します。次に、列にデータがあるまで、行と列を27行ずつプラスして新しい行に1を加えて、この2行のテキストと他のテキストを入力します。

関連する問題