|
元のマクロは、C列をアクティブにして、右クリックで列を挿入、空いたその列にH列を移動させたのですが、下記の様なマクロになってしまいます。。。。。
何か手順を間違えているのでしょうか?
相対参照にして記録しています。
Sub Macro1()
ActiveCell.Offset(0, 2).Columns("A:A").EntireColumn.Select
Selection.Insert Shift:=xlToRight
ActiveCell.Offset(0, 5).Columns("A:A").EntireColumn.Select
Selection.Cut Destination:=ActiveCell.Offset(0, -5).Columns("A:A"). _
EntireColumn
ActiveCell.Offset(0, -7).Range("A1").Select
End Sub
元データは下記の通りです。行の最後の数値の列を時刻の後ろに移動させて並べ替えたかったのです。
2006/2/15 9:00 3030 3030 3020 3030 26600
2006/2/15 9:01 0 0 0 0 0
2006/2/15 9:02 0 0 0 0 0
2006/2/15 9:03 3030 3030 3020 3030 5400
2006/2/15 9:04 3020 3020 3020 3020 100
2006/2/15 9:05 0 0 0 0 0
2006/2/15 9:06 3020 3020 3020 3020 5400
2006/2/15 9:07 3020 3020 3010 3020 4800
2006/2/15 9:08 3020 3020 3010 3020 1100
2006/2/15 9:09 3020 3020 3020 3020 3700
2006/2/15 9:10 3020 3020 3020 3020 300
2006/2/15 9:11 3020 3020 3020 3020 3700
2006/2/15 9:12 3020 3020 3020 3020 500
2006/2/15 9:13 3020 3020 3020 3020 2100
とりあえず色々いじってみて、下記の様にしたら、目的の動作は果たす事ができました。
Sub Macro2()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Activate
Range("A1").Select
Call Macro1
Next
End Sub
Call を使ってマクロを呼び出せばいいんですね。
勉強になります!
手探り状態なので、本当にこれで合ってるのか分からないので、おかしなミスをおかしていたら指摘してください。
今後ともよろしくおねがいします。
|
|