• 締切済み

windows7上でVBAマクロがエラー

 仕事で使っているエクセル97で作ったVBAマクロがありますが、winXPからwin7に乗り換えたらエラーがでるようになりました。  コマンドボタン押下によるマクロで、変数フラグに「xxxx=1」という記述でコンパイルエラーが起こり、実行がストップします。  自動処理だけを目的に作っており、定石を踏んだマクロになっておらず、このxxxxにもディメンションで変数型を指定しておらず(こちらにおられる諸兄には怒られそうですが)、 Private Sub CommandButton1_Click() Application.ScreenUpdating = False xxxx = 1   :  というソースの中で、開始直後にxxxx=1にフォーカスがあたり、コンパイルエラーになります。  winXPまでは問題なく動作していたマクロです。(Vistaでは試すチャンスがありませんでした)  解決方法はあるのでしょうか。それとも変数にDim定義を追加する修正をソースへいれないとだめでしょうか。  ご存知の方、ご指導ください。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

XXXXはどういう変数ですか(変数名)? エラーコードはなんと出ますか? VBAで、デバッグ・VBAProjecのコンパイルの方をしているのですか。実行ーSubユーザーフォームの実行の方ではどうなりますか。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

「変数を定義されていません」というエラーではないでしょうか? そうであれば、変数を定義するか、シートモジュールの先頭にある「Option Explicit」を消してください。 あと、ツール→オプション→変数の宣言を強制するにチェック入っていると自動で「Option Explicit」が入るのでチェックを外しておきます。

関連するQ&A