- ベストアンサー
エクセルVBA
エクセル初心者です。 今、下画像上段のようなデータをエクセルで作っています。 内容は売上表みたいなものです。 表のD列とH列に売上があれば、売上金額が入ります。 ただし、両方ともない場合は、D列とH列に金額は入らず 空白になります。 そこで、「D列とH列が両方空白の場合、その行を非表示にする」 というVBAを作りたいのですが、 コードが分からず困ってしまいました。 データ量がかなり多く、今は1行づつ非表示にしているので 時間がかかってしまいます。 完成版は画像下段です。 何かいいコードはあるのでしょうか。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
オートフィルターを利用して『空白以外』を選択では具合が悪いのでしょうか?
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
初心者とはいえ、 1)D列とH列が両方空白の場合 の判別(IFステートメント利用) (2)行の非表示 Googfleででも「エクセルVBA 行の非表示」で照会すればコードが出てくる。 または書式ー行ー表示しない、のマクロの記録を採ればコードはわかる。 こういう風に単純なことだ。質問する前に、こういう照会をして、またマクロの記録の応用を間上げて、疑問点を絞って質問すること。 ただし、データが出来上がってから1斉にやる方式である(追加データに即時反応的でない) ーー 参考に 1列だけの空白判別ならば、編集ージャンプーセル選択ー空白セル 書式ー行ー表示しないで、できる。これをマクロの記録を採れば良い。 ーー 質問の件は 標準モジュールに Sub test01() d = Range("A65536").End(xlUp).Row ' MsgBox d For i = 1 To d If Cells(i, "D") = "" And Cells(i, "H") = "" Then Rows(i).Hidden = True End If Next i End Sub