• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで・・・)

Excelマクロ初心者がメインシートの非表示入力シートを呼び出す方法

このQ&Aのポイント
  • Excelマクロ初心者が、EXCEL2000では動作するがEXCEL97でエラーが発生する問題について質問しています。
  • 具体的には、メインシートから非表示にしている入力シートを呼び出すためのマクロに関して、EXCEL2000では問題なく動作するがEXCEL97ではエラーが発生するという状況です。
  • 質問者は「WITH文を2回繰り返すのが間違いか?」と疑問を持っています。

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

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

これだけだったら わざわざ Withを使う必要はないですね。 With Worksheets("入力") .Visible = True .Select End With としてあげれば withの効果も若干はあるでしょうが・・・・。 問題となっているのは、多分、非表示だと思います。 いったん 非表示を表示にして それから 処理が終わった後、非表示にしてあげれば 問題ないと思いますよ。

aaa0123
質問者

お礼

返事遅くなりました。 おっしゃるとおり、WITHは二つもいりませんでした。 無事解決です。ありがとうございました。

その他の回答 (4)

  • redraft
  • ベストアンサー率16% (9/55)
回答No.5

With Worksheets("入力") .Visible = True End With Worksheets("入力") .Select で、やってみて貰えませんか? 97環境が無いもので。 もしかしたら97ではメソッドの記述に問題があるかも知れないと思って・・・ 結果を教えて下さい。

aaa0123
質問者

お礼

教えていただいたのでも問題なかったです。 ありがとうございました。

  • norakuma
  • ベストアンサー率29% (293/977)
回答No.4

#3です。ざっとMSDNあたってみたのですが、他のと勘違いしてました。すみません。 しかしながら… とりあえず、トラブルシューティングのために、 基本的な記述方法で試してみるのはやってみたほうがよいです。 あとは、Excel97のVBAの画面で、デバッグ(ステップごとにスクリプトの確認)をやってみると、どこの行でエラーが出ているかわかりますよ。 では

  • norakuma
  • ベストアンサー率29% (293/977)
回答No.3

すごーくかすなか記憶で、確信がもてないんですけど、 withステートメントってVB6からの新機能ではなかったですか? つまり、Excel97ではwithステートメントを理解できないと思うのです。 ということで、withステートメントを外して、それぞれのプロパティとメソッドをきちんと書くと動く気がしますが…。 Sub メインから入力() Worksheets("入力").Visible = True  Worksheets("入力").Select End Sub

aaa0123
質問者

お礼

単純にWithが二つもいらないだけのお話しでした。 ありがとうございました。

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.2

こんにちは。 エラーの原因ですが、シートの名前を変更してないですか? あと、Withの使い方を誤解してるみたいですね。 質問にあるような使い方でも問題はないですが、 Withを使うメリットもないです。 #1さんの回答のように、ひとつのオブジェクトに対する操作を、まとめて書くような使い方をします。

aaa0123
質問者

お礼

おっしゃるとおりでした。 ありがとうございました。