• ベストアンサー

エクセルVBA

エクセル初心者です。 今、下画像上段のようなデータをエクセルで作っています。 内容は売上表みたいなものです。 表のD列とH列に売上があれば、売上金額が入ります。 ただし、両方ともない場合は、D列とH列に金額は入らず 空白になります。 そこで、「D列とH列が両方空白の場合、その行を非表示にする」 というVBAを作りたいのですが、 コードが分からず困ってしまいました。 データ量がかなり多く、今は1行づつ非表示にしているので 時間がかかってしまいます。 完成版は画像下段です。 何かいいコードはあるのでしょうか。 よろしくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

  • ベストアンサー
  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.1

オートフィルターを利用して『空白以外』を選択では具合が悪いのでしょうか?

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

初心者とはいえ、 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

関連するQ&A

専門家に質問してみよう