Excel2010でシートを異なるブックへ移動すると移動元のブック上のオブジェクトに登録されたマクロ名が変更されマクロが実行できない

Anonymous
2011-08-04T08:03:56+00:00

Excel2010でマクロが含まれているシートを別ファイルにコピーし実行すると、

「マクロ '<>!<>' を実行できません。このブックでマクロを使用できないか、

またはすべてのマクロが無効になっている可能性があります。」

とエラーが出て、実行できなくなってしまいます。

同じブックにコピーの場合は問題ありません。

WEBを検索したところ、以下のサイトに同じ症状があったのですが、

Excel2007の話で、2010では乗っておりませんでした。

[http://support.microsoft.com/kb/974238/ja]

Excel2010 Ver14.0.5128.5000

です。

最新のプログラムを適用しております。

ご存知の方がいらっしゃったら、お教えください。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-08-05T01:02:59+00:00

思いつきレベルの話で恐縮ですが、もし、シートのコピーを手動でやられているのでしたら、次にマクロを起動する場合には、ボタンのあるシートをActiveにする必要があると思います。

その場合はWorkBookのイベントプロシージャとして、

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

If Sh.Name = "<ボタンのあるシート名>" Then

   Sh.Shapes("正方形長方形 1").OnAction = "<コピー元ブック名>!<マクロ名>"

End If

End Sub

としてしまえば実用上は困らないのでは?

なお、 "<コピー元ブック名>!<マクロ名>" は "<マクロ名>"で良いはずです。

私はSP2を入れていないので実地には試してません。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-08-04T17:39:56+00:00

こんばんわっ

KB番号がひとつあとの文書でExcel2010についても書いてありました!今のところは手動で対策するしかないみたいですね・・・。

http://support.microsoft.com/kb/974239/ja

方法 1 : 手動でマクロ名を変更する

方法 2 : Shape.OnAction プロパティを使用してマクロ名を変更する

この回答は役に立ちましたか?

0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-08-12T02:03:31+00:00

    Marisa_VH さん、nplusk さん、コメントありがとうございます。

    nplusk さん、こんにちは。

    いただいたコメントがご参考になったようですね。

    同じような問題でお悩みの方にもご参考になるよう、今回は私の方で [回答としてマーク] をいたしました。

    nplusk さんの方でも次回は参考になったと思うご返信に [回答としてマーク] をつけてみてくださいね。

    次回もぜひ Answers をご利用ください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2011-08-05T00:09:08+00:00

    ご回答ありがとうございます。

    検索かけたのですが、HITせず…。

    回答が乗っていたのですね。

    大変失礼いたしました。

    毎回手動でなんて、できないので、あきらめるしかなさそうですね。

    いずれ修正プログラムが出ることを期待しております。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません