LongLong は、64 ビット プラットフォームのみで有効な宣言型です。 わざわざ変数をバージョンごとに定義するのが面倒であれば、CLngで型変換をすることでも問題ないことも多いと思います。以下のスクリプトは64ビット版でもコンパイルエラーは発生しません。 32 ビット版の Office と 64 ビット版の Office のどちらをインストールするかの判断に役立ちます。 どちらのバージョンが適しているかは、どのように Office を使用するかに応じて異なります。 32 ビット版 Office と 64 ビット版 Office のどちらが適しているかを確認します。 先日、何気なくマクロを利用したエクセルファイルを開くと、コンパイルエラーが。コンパイルエラー 「このプロジェクトのコードは、64 ビット システムで使用するために更新する必要があります。Declare ステートメントの確認および更新を行い、
ところが、64bitのエクセルでは動かないことがわかりました。 表示されたエラーメッセージの言葉から調べて、PtrSafeという言葉を入れなければならないようなのでAPI宣言を以下のようにしてみました。 #If VBA7 And Win64 Then '64ビット版 ところが、64bitのエクセルでは動かないことがわかりました。 表示されたエラーメッセージの言葉から調べて、PtrSafeという言葉を入れなければならないようなのでAPI宣言を以下のようにしてみました。 #If VBA7 And Win64 Then '64ビット版 64ビットは32ビットと比較して大容量のデータを扱うことができると書いてあったので、期待していたのですが、私の場合は改善されませんでした。 改善させるための方法をご存知であれば、教えていただけないでしょうか? エラーが発生する場所が異なりますし、エラーの種類も違います。 今度の変数myRangeはオブジェクト型(Range)です。同じようにRange("A1")のプロパティが省略されていますので「Range("A1").Value」と …
Excel2019 非表示モジュール内でコンパイルエラーの対処法を教えていただけないでしょうか?バージョンの違うエクセルで作成しているから対応していないのでしょうか?開発ボタンが有効なら開発の中の 左端 VB を叩く パスワード求め Word または Excel 起動時に "非表示モジュール内でコンパイル エラーが発生しました" というエラー メッセージが表示される問題について説明します。また、この問題の解決方法を示します。 条件付きコンパイル(32ビット64ビットの互換性) 条件付きコンパイルは、 vbaの特定のコードブロックを選択してコンパイルします、vbaの他の部分は無視されます、 条件付きコンパイルステートメントは、実行時ではなくコンパイル時に実行されます。
一部の方に誤解があるようです。 この誤解は 「 Windows を 64 ビット版にしたら Office も 64 ビット版にしなければならないのだろう」 という先入観によるものです。 あるいは 「 Office に 64 ビット版があるならその方が性能が良いだろう」 という調べもしないで選択したケースもあります。 Excel 起動時にコンパイル エラーの画面が表示されるのですね。 OS は 64 ビット版とのことですが、Office も 64 ビット版をお使いでしょうか。 また、このエラー画面は特定の Excel ファイルを開いた時だけ発生するのでしょうか。 エクセルの機能のソルバーを勉強しようと、エクセルのオプションから、ソルバーを追加して、鶴亀算の計算を試みてデータ入力を行い、ソルバーのボタンを押すと’’非モジュール内でコンパイルエラーが発生しました''と出ました。次に、新規