- ベストアンサー
VBAで行非表示時に型が一致しないエラーが発生する問題
- Excel2003を使用している際に、VBAで行を非表示にすると型が一致しないエラーが発生します。
- エラーが発生した場合、F8キーを押すことで進行できることがあります。
- 問題の解決方法やプログラムの改善点についてアドバイスをいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
状況としては、グラフを選択した状態でそのマクロの一文を実行すると、ご相談のエラーが発生します。 ただしご質問に書かれている状況説明から推測して、「ボタン」に「その1行のマクロだけ」を登録して実行していれば、エラーは回避できます。 ご説明で割愛されている、その一行のマクロの他で(前で)行っている何かのマクロの命令が、問題の直接の原因になっている可能性があります。 とりあえず簡易な回避策としては activesheet.select activesheet.rows(2:20").hidden = true のようにして、明示的にワークシートを選択した状態で問題の一行が実行されるようにしてみます。
その他の回答 (1)
- in01280128
- ベストアンサー率50% (48/95)
あまり関係ないかも知れませんが: ActiveSheet で返されるオブジェクトがワークシートだとは限りませんので、 Worksheets("Test").Rows("2:20").Hidden = True と書いておく方が無難であるような気がします。
お礼
in01280128様、回答ありがとうございました! keithin様に教えて頂いたプログラムだと問題なく 動作し始めました。 プログラム内容?的にはほぼ同じだと思うのですが… やはり、勉強不足なのでしょうね(笑 では、ありがとうございました!
補足
回答ありがとうございます! グラフを選択した状態だとそのエラーが出るのですか… 原因が分からなかったのでとても助かります! 色々と説明不足な点が多々あり、申し訳ないです。 フォーム上で、データの操作を行っており、 フォームの内容の通りにグラフを作成しております。 そして、フォームのマクロの最後に ActiveSheet.Rows("2:20").Hidden = True と記入していたのですが、 そこで上記エラーがでておりました。 読み返してみたら情報不足すぎて、 本当に申し訳ないです。 試してみましたが、 まだ上記エラーが出ます。 難しいですね・・・
お礼
回答ありがとうございます! グラフを選択した状態だとそのエラーが出るのですか… 原因が分からなかったのでとても助かります! 色々と説明不足な点が多々あり、申し訳ないです。 フォーム上で、データの操作を行っており、 フォームの内容の通りにグラフを作成しております。 そして、フォームのマクロの最後に ActiveSheet.Rows("2:20").Hidden = True と記入していたのですが、 そこで上記エラーがでておりました。 読み返してみたら情報不足すぎて、 本当に申し訳ないです。 試してみたところ、出来ました! in01280128様に教えて頂いた プログラムではなぜ出来ないのか・・・ やっていることは同じだと思うのですが、 やはり、selectは重要なのでしょうかね? keithin様、回答ありがとうございました!