|
こんにちは。かみちゃん です。
>Sub 四本値並べ替え()
まず、このマクロ、何をしているのかわかりません。
コードを見る限り、
アクティブセルから、2列右隣に1列挿入して、
その列から5列右隣の列をその列に貼り付ける
ということでしょうか?
それをマクロの記録で記録して、整理すると、以下のようなコードだけでできると
思うのですが?
Sub Macro1()
With ActiveCell
.Offset(, 2).EntireColumn.Insert Shift:=xlToRight
.Offset(, 2 + 5).Cut .Offset(, 2)
End With
End Sub
それで、このマクロを題名のとおりのことをしたいならば、
Sub Macro2()
Dim wb As Workbook
Dim ws As Worksheet
For Each wb In Workbooks
wb.Activate
For Each ws In Worksheets
ws.Activate
MsgBox wb.Name & " の " & ws.Name & "がアクティブです"
Next
Next
End Sub
とすればよく、
上記 Macro2 の MsgBox部分の次に
Call Macro1
とすれば、ご希望のことはできるかと思います。
なお、それぞれのシートのアクティブセルが基準になりますので、動作が不安定
になることも想定されるので、気をつけてください。
Call Macro1
の前に
Range("A1").Select
とかしてアクティブセルを指定しておけばいいかもしれません。
|
|