Excelでマクロの登録先が勝手に変更される謎?
Excelでマクロの登録先が勝手に変更されるということで悩んだので覚書
(1)サンプルというブックを作る。
(2)サンプルのDATAシートをブック1に移動するマクロを作る。
(4)ボタンにマクロを登録する。
(5)そして実行する。
マクロを登録したのは、サンプルなのに、なぜか登録先が
Book1!Macro1 になってしまい、サンプルを上書き保存すると
次からマクロが使えない状態になってしまう。
結局、Sheets("DATA").Move ではなく、
Sheets("DATA").Copy を使うことで登録先が勝手に変更されることはなくなった。
しかし、移動と同じ動作にするためには、もともとのDATAシートを削除しなければならない。
で、シートを削除しようとすると通常は警告メッセージが出てしまうのだが、
また、勉強になりました。
(1)サンプルというブックを作る。
(2)サンプルのDATAシートをブック1に移動するマクロを作る。
Sub Macro1()
Sheets("DATA").Select
Sheets("DATA").Move Before:=Workbooks("Book1").Sheets(1)
Windows("Book2").Activate
End Sub
(3)サンプルのシートにボタンを作る。(4)ボタンにマクロを登録する。
(5)そして実行する。
マクロを登録したのは、サンプルなのに、なぜか登録先が
Book1!Macro1 になってしまい、サンプルを上書き保存すると
次からマクロが使えない状態になってしまう。
結局、Sheets("DATA").Move ではなく、
Sheets("DATA").Copy を使うことで登録先が勝手に変更されることはなくなった。
しかし、移動と同じ動作にするためには、もともとのDATAシートを削除しなければならない。
で、シートを削除しようとすると通常は警告メッセージが出てしまうのだが、
Application.DisplayAlerts = False
Sheets("DATA").Select
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
とすることで、警告メッセージを出ないようにすることができる。また、勉強になりました。
ソフトウエア | - | trackbacks (1)




