現象
以前のバージョンで作成した、 ¥ (円記号) の算術演算子を使用したマクロを含むファイルを、日本語版 Office 2011 で開いて実行するとコンパイル エラーとなります。
原因
¥ (円記号) が \ (バックスラッシュ) に変換されるために発生します。
回避策
回避策1: Office 2011 で \ (バックスラッシュ) に変換されたコードを ¥ (円記号) に再編集して上書き保存を行う
この方法は、Office 2004 で編集されることがない場合に有効です。
回避策2: 割り算の商を求めるための別の計算方法を記述します。
Office 2004 と Office 2011 環境で利用される場合、 \ (円記号) の算術演算子以外の手法を検討します。
例えば、以下のような変更を行います。
変更前: 20 ¥ 3
変更後: (20 - (20 MOD 3)) /3
状況
マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。
詳細
再現手順:
-
Excel 2004 で新規ワークブックを作成します。
-
VBE を起動し、以下のマクロを記述します。
Sub Test()
MsgBox 20 ¥ 3
End Sub -
ファイルを保存します。
-
Excel 2011 でマクロを有効にして開き、Test() を実行します。
結果:
以下のエラーが表示されます。
コンパイル エラーです。:
構文エラー