以前のバージョンで作成したマクロ内の円記号の算術演算子がエラーになる

現象

以前のバージョンで作成した、 ¥ (円記号) の算術演算子を使用したマクロを含むファイルを、日本語版 Office 2011 で開いて実行するとコンパイル エラーとなります。

原因

¥ (円記号) が \ (バックスラッシュ) に変換されるために発生します。

回避策

回避策1: Office 2011 で \ (バックスラッシュ) に変換されたコードを ¥ (円記号) に再編集して上書き保存を行う

この方法は、Office 2004 で編集されることがない場合に有効です。 


回避策2: 割り算の商を求めるための別の計算方法を記述します。 

Office 2004 と Office 2011 環境で利用される場合、 \ (円記号) の算術演算子以外の手法を検討します。

例えば、以下のような変更を行います。

変更前: 20 ¥ 3
変更後: (20 - (20 MOD 3)) /3

状況

マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。

詳細

再現手順:
  1. Excel 2004 で新規ワークブックを作成します。
  2. VBE を起動し、以下のマクロを記述します。

    Sub Test()
      MsgBox 20 ¥ 3
    End Sub
  3. ファイルを保存します。
  4. Excel 2011 でマクロを有効にして開き、Test() を実行します。
結果:
以下のエラーが表示されます。

コンパイル エラーです。:
構文エラー


プロパティ

文書番号:2600964 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック