皆さま引き続きコロナには気をつけてお過ごしください!

【Excel VBA】このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。

MS Excel

Excel VBAを使って作ったファイルを、

作ったパソコンとは別のパソコンで開くと、エラーが出る場合があります。

 

今回は、エラーの内容と、その原因、対応方法をご紹介します。

 

スポンサーリンク

エラー内容

今回エラーが確認できたのは、

VBAで作ったタイピングの練習ファイルです。

 

自宅では問題なく動いていましたが、

勤務先で開いたところ、問題なく動くパソコンと、

次のようなエラーメッセージが表示されるパソコンがありました。

コンパイルエラー内容

このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントにPrtSafe 属性を設定してください。

 

スポンサーリンク

原因

Windows PCには、32bit版と、64bit版の2種類があるように、

Microsoft Officeにも32bit版と、64bit版があります。

この違いは、扱えるデータの量の違いです。

32bit:232゠4,294,967,296 bit゠4GB
64bit:264゠18,446,744,073,709,600,000 bit ゠ 32GB

32bitのExcel VBAでファイルを作った場合、

64bitとの互換性がなく、コンパイルエラーになってしまいます。

 

スポンサーリンク

Microsoft Officeのbit数確認方法

では、どのようにbit数を確認するのでしょうか?

 

次の手順で確認することができます。

bit数確認手順
  • Step1
    ファイルタブをクリックする。
  • Step2
    アカウントをクリックする。
  • Step3
    Excelのバージョン情報をクリックする。

    Excelバージョン

  • Step4
    画面上部にビット数が表示される。

    ビット数

私が使っているのはExcel 2013の32ビット版であることがわかりますね。

 

スポンサーリンク

エラーの回避方法

では、どうすればエラーにならずに使えるのでしょうか。

 

次のように対応してください。

エラー回避手順
  • Step1
    エラーメッセージの画面でOKを押す。

    コンパイルエラー内容

  • Step2
    VBAのコードが表示され、エラーになった箇所が赤く表示される。

    コンパイルエラー内容詳細

  • Step3
    「Declare」の後ろに「PtrSafe」を書く。

    修正前:Declare Function→修正後:Declare PtrSafe Function

    修正前:Declare Sub→Declare PtrSafe Sub

    修正

  • Step4
    ファイルを保存し、開きなおす。
PtrSafe属性は、64bitのOffice環境下で、安全に実行できることを示すものです。

 

スポンサーリンク

まとめ

普段、bit数を意識することはほとんどないため、

今回のようなエラーにはびっくりしてしまいますよね。

 

にゃこ
にゃこ

今回もエラーから1つ勉強になりました。

タイトルとURLをコピーしました