Excel 2003ではマクロ名として「sub1」が使えたがExcel 2007では使えない





Excel 2003ではマクロ名として「sub1」が使えたがExcel 2007では使えない



最近ではExcel 2003を使っている人は少なくなり、Excel 2007 2010を使う人が多くなったのですが、
Excel 2003で作ったマクロ(ブック)を使うことがあります。
ところが、思わぬ落とし穴が



マクロはこんな感じ



VBAソース

Option Explicit

Sub sub1()
Const para = 1
Call メイン処理(para)
End Sub

Sub sub2()
Const para = 2
Call メイン処理(para)
End Sub

Sub sub3()
Const para = 3
Call メイン処理(para)
End Sub

Sub メイン処理(para As Integer)
Application.ScreenUpdating = False

'実際の処理

Application.ScreenUpdating = True
End Sub


Excel 2003ではエラーも無く正常動作します。
さすがにマクロ名に「sub」は使えません。でも、「sub1」はOKです。

これを Excel 2007 の「マクロ有効ブック (*.xlsm)」形式で保存すると








そこで、ボタンの[マクロの登録]を開くと
Excel 2003では「sub1」だったマクロが


Excel 2007では「_sub1」に変換されています。


Excel 2007ではマクロとして「sub1」...「sub10」などは使用できないようです。
Excel 2003の時に使用できなければ何も問題はなかったのですが。今となっては...

しかし、実際のマクロのソースはそのままです。


シートのボタンを押すと


当然ですがマクロの登録で「_sub1」から「sub1」に変更してもおこられます。




だからと言ってマクロを修正して「sub1」を「_sub1」に変更しようとすると
「コンパイル エラー」でおこられます。


結局、「マクロの登録」のマクロ名もマクロのソースも「_sub1」とは違う名前に修正せざるをえません。
どないなっとんじゃい!
最初からマクロで使える名前に変換せんかい!

とりあえず、マクロとしては使えない名前に変換しておけばダブることはないということか?
困ったものです。

スポンサーサイト

コメントの投稿

非公開コメント

アクセスカウンタ
オンラインカウンター
現在の閲覧者数:
プロフィール

たっきー

Author:たっきー
たっきーのブログへようこそ!
パソコン・スマホを
より使いやすくするため奮闘中!
改造したり、root取ったり
色々やってます。

カテゴリ
最新記事
最新コメント
月別アーカイブ
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR