電子書籍の厳選無料作品が豊富!

ブック名「データベース」のファイルと、ブック名が変数の「機器No」のファイルを開いた状態で、「データベース」画面から「機器No」画面への切り替えを ⇒

Windows("データベース.xls").Activate … (1)
  ・
  ・
  ・
Windows(機器No).Activate … (2)
  ・
  ・
  ・
なるマクロで行っています。

ところが、1台のPC(A機/本機で作成)では処理できるのに、他のPC(B機、C機)では(2)のステートメントでデバックエラーが出ます。
PCによってエラーが発生したり、しなかったりする原因が判らず困っています。
エクセルの初期設定に問題があるのでしょうか?

OS:WinXP(3機共)
尚、このブックは共有ファイルです。

どなたか原因と解決方法を教えて下さい。
宜しくお願い致します。

A 回答 (4件)

『機器No』が変数なら、部分的なコードの提示では推測で応答せざるを得ません。


変数『機器No』の型の宣言と、値の代入箇所、エラーが出る時の 『機器No』の値の提示が必要です。


Dim 機器No As ???
機器No = ???
String型なら
Debug.Print 機器No 'で確認。
Windows(機器No).Activate
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/10/31 12:40

"機器No"が同じブックのシートを指すのであれば


sheets(機器No).activate
で良いのでは?
    • good
    • 0
この回答へのお礼

有り難うございます。
試しましたがダメでした。

質問にも有ります様に
>1台のPC(A機/本機で作成)では処理できるのに、他のPC(B機、C機)ではエラーが出ます。

これに原因究明の要素がありそうです。
ネットワークで繋がるA・B・C・D機のうちB・C機だけでエラーが出る事が分かりました。

また内容を変えて「質問」したいと思います。


この場を借りて、皆さん有り難うございました。

お礼日時:2008/10/31 12:47

マクロの記録から得られたコードでしょうか


Workbooks(機器No).Activate … (2)
で試しては如何でしょうか。

この回答への補足

早速の回答ありがとうございます。
この質問は私「m-0-m」が代理で質問したものですが、質問者が帰宅したため「補足・お礼」が遅れますこと、お詫び申し上げます。
質問者は10/31に出社しますので、私に分かる範囲で補足いたします。

>Workbooks(機器No).Activate … (2)
>で試しては如何でしょうか。

試しましたがダメでした。

A機ではエラーが出ないので、やはり初期設定に問題があるように思うのですが…。

補足日時:2008/10/29 17:53
    • good
    • 0

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

この回答への補足

早速の回答ありがとうございます。
この質問は私「m-0-m」が代理で質問したものですが、質問者が帰宅したため「補足・お礼」が遅れますこと、お詫び申し上げます。
質問者は10/31に出社しますので、私に分かる範囲で補足いたします。

>変数の「機器No」に拡張子”.xls”を含んでいないとか?
「機器No」は別のブックでは無く、同じブックの別シート内に「機器No」が存在します。従って拡張子は不要だと思うのですが…。

何故、A機以外のPCではエラーが出るのでしょうか?

補足日時:2008/10/29 17:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!