• ベストアンサー

エクセルのマクロでデータ編集プログラムを作成していますが…。(デバックエラー)

ブック名「データベース」のファイルと、ブック名が変数の「機器No」のファイルを開いた状態で、「データベース」画面から「機器No」画面への切り替えを ⇒ Windows("データベース.xls").Activate … (1)   ・   ・   ・ Windows(機器No).Activate … (2)   ・   ・   ・ なるマクロで行っています。 ところが、1台のPC(A機/本機で作成)では処理できるのに、他のPC(B機、C機)では(2)のステートメントでデバックエラーが出ます。 PCによってエラーが発生したり、しなかったりする原因が判らず困っています。 エクセルの初期設定に問題があるのでしょうか? OS:WinXP(3機共) 尚、このブックは共有ファイルです。 どなたか原因と解決方法を教えて下さい。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

『機器No』が変数なら、部分的なコードの提示では推測で応答せざるを得ません。 変数『機器No』の型の宣言と、値の代入箇所、エラーが出る時の 『機器No』の値の提示が必要です。 Dim 機器No As ??? 機器No = ??? String型なら Debug.Print 機器No 'で確認。 Windows(機器No).Activate

m-0-m
質問者

お礼

有り難うございます。 大変参考になりました。

その他の回答 (3)

  • lul
  • ベストアンサー率41% (10/24)
回答No.4

"機器No"が同じブックのシートを指すのであれば sheets(機器No).activate で良いのでは?

m-0-m
質問者

お礼

有り難うございます。 試しましたがダメでした。 質問にも有ります様に >1台のPC(A機/本機で作成)では処理できるのに、他のPC(B機、C機)ではエラーが出ます。 これに原因究明の要素がありそうです。 ネットワークで繋がるA・B・C・D機のうちB・C機だけでエラーが出る事が分かりました。 また内容を変えて「質問」したいと思います。 この場を借りて、皆さん有り難うございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

マクロの記録から得られたコードでしょうか Workbooks(機器No).Activate … (2) で試しては如何でしょうか。

m-0-m
質問者

補足

早速の回答ありがとうございます。 この質問は私「m-0-m」が代理で質問したものですが、質問者が帰宅したため「補足・お礼」が遅れますこと、お詫び申し上げます。 質問者は10/31に出社しますので、私に分かる範囲で補足いたします。 >Workbooks(機器No).Activate … (2) >で試しては如何でしょうか。 試しましたがダメでした。 A機ではエラーが出ないので、やはり初期設定に問題があるように思うのですが…。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

変数の「機器No」に拡張子”.xls”を含んでいないとか?

m-0-m
質問者

補足

早速の回答ありがとうございます。 この質問は私「m-0-m」が代理で質問したものですが、質問者が帰宅したため「補足・お礼」が遅れますこと、お詫び申し上げます。 質問者は10/31に出社しますので、私に分かる範囲で補足いたします。 >変数の「機器No」に拡張子”.xls”を含んでいないとか? 「機器No」は別のブックでは無く、同じブックの別シート内に「機器No」が存在します。従って拡張子は不要だと思うのですが…。 何故、A機以外のPCではエラーが出るのでしょうか?

関連するQ&A