0

スプレッドシートには次のようなデータがあります。

      ABCDE
2 20120425 09:55:00 101 99 102 100.50   
3 20120425 09:55:00 101 102 98 101.50

同じシートでこれを行いたい:

      H       
2 101    
3 99   
4 102  
5 100.50

範囲 B2:E2 をコピーしてから、H2 を選択し、特殊に貼り付けます (H2、H3、H4、H5 に貼り付けられます)。次に、B3:E3 のタスクを繰り返し、範囲をコピーして H6 に貼り付けます。

マクロを記録しましたが、タスクを 5000 行近く繰り返す必要があります。

記録されたコード

Sub Macro9()
'
' Macro9 Macro
'

'
    Range("D1:G1").Select
    Selection.Copy
    Range("L1:L4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Range("D2:G2").Select
    Selection.Copy
    Range("L5:L8").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
End Sub
4

1 に答える 1

1

なんとなく答えが見えてきました。

Sub alex4()

Dim k As Integer, i As Integer, lngRows As Integer    

lngRows = Range("A1").CurrentRegion.Rows.Count    

For k = 1 To (lngRows * 4)         

    For i = 1 To lngRows    

        k = k + 4   

        Range(Cells(i, 4), Cells(i, 7)).Select    

        Selection.Copy    

        Range(Cells(k, 12), Cells(k + 3, 12)).Select    

        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
          False, Transpose:=True    

    Next i    

Next k      

End Sub
于 2012-05-03T17:56:18.353 に答える