MyNoteBook weblog

自作ソフトウェアや気になるものについて書いています

Excelでマクロの登録先が勝手に変更される謎?

Excelでマクロの登録先が勝手に変更されるということで悩んだので覚書

(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)

Trackbacks

excel 2010 新機能 は便利です! | excel 2010 新機能 は便利です! | 2010/07/06 06:24 AM
マクロの基本を説明しました。 excel2010は、グラフ、web、vba、関数が新しくなりました。ピボットテーブル操作スピードは、マルチスレッドでUP。 行数は、数億行まで処理できるPwoerPivot for Excel2010が導入されました。
■同一カテゴリー記事(最新5)
CATEGORIES
NEW ENTRIES
RECOMMEND
【いちばんやさしい教える技術】…
いちばんやさしい教える技術

Book (発売日:2012-04-16)
【いままでのA面、B面ですと!?(通常盤)】…
いままでのA面、B面ですと!?(通常盤)

Music (発売日:2009-11-25)
RECENT TRACKBACK
ARCHIVES
PROFILE
OTHER