• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】 行非表示で、1度エラー 【Excel】)

VBAで行非表示時に型が一致しないエラーが発生する問題

このQ&Aのポイント
  • Excel2003を使用している際に、VBAで行を非表示にすると型が一致しないエラーが発生します。
  • エラーが発生した場合、F8キーを押すことで進行できることがあります。
  • 問題の解決方法やプログラムの改善点についてアドバイスをいただきたいです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

状況としては、グラフを選択した状態でそのマクロの一文を実行すると、ご相談のエラーが発生します。 ただしご質問に書かれている状況説明から推測して、「ボタン」に「その1行のマクロだけ」を登録して実行していれば、エラーは回避できます。 ご説明で割愛されている、その一行のマクロの他で(前で)行っている何かのマクロの命令が、問題の直接の原因になっている可能性があります。 とりあえず簡易な回避策としては activesheet.select activesheet.rows(2:20").hidden = true のようにして、明示的にワークシートを選択した状態で問題の一行が実行されるようにしてみます。

satoron666
質問者

お礼

回答ありがとうございます! グラフを選択した状態だとそのエラーが出るのですか… 原因が分からなかったのでとても助かります! 色々と説明不足な点が多々あり、申し訳ないです。 フォーム上で、データの操作を行っており、 フォームの内容の通りにグラフを作成しております。 そして、フォームのマクロの最後に ActiveSheet.Rows("2:20").Hidden = True と記入していたのですが、 そこで上記エラーがでておりました。 読み返してみたら情報不足すぎて、 本当に申し訳ないです。 試してみたところ、出来ました! in01280128様に教えて頂いた プログラムではなぜ出来ないのか・・・ やっていることは同じだと思うのですが、 やはり、selectは重要なのでしょうかね? keithin様、回答ありがとうございました!

その他の回答 (1)

回答No.1

あまり関係ないかも知れませんが: ActiveSheet で返されるオブジェクトがワークシートだとは限りませんので、 Worksheets("Test").Rows("2:20").Hidden = True と書いておく方が無難であるような気がします。

satoron666
質問者

お礼

in01280128様、回答ありがとうございました! keithin様に教えて頂いたプログラムだと問題なく 動作し始めました。 プログラム内容?的にはほぼ同じだと思うのですが… やはり、勉強不足なのでしょうね(笑 では、ありがとうございました!

satoron666
質問者

補足

回答ありがとうございます! グラフを選択した状態だとそのエラーが出るのですか… 原因が分からなかったのでとても助かります! 色々と説明不足な点が多々あり、申し訳ないです。 フォーム上で、データの操作を行っており、 フォームの内容の通りにグラフを作成しております。 そして、フォームのマクロの最後に ActiveSheet.Rows("2:20").Hidden = True と記入していたのですが、 そこで上記エラーがでておりました。 読み返してみたら情報不足すぎて、 本当に申し訳ないです。 試してみましたが、 まだ上記エラーが出ます。 難しいですね・・・

関連するQ&A