エクセル初心者です。

今、下画像上段のようなデータをエクセルで作っています。

内容は売上表みたいなものです。

表のD列とH列に売上があれば、売上金額が入ります。
ただし、両方ともない場合は、D列とH列に金額は入らず
空白になります。

そこで、「D列とH列が両方空白の場合、その行を非表示にする」
というVBAを作りたいのですが、
コードが分からず困ってしまいました。

データ量がかなり多く、今は1行づつ非表示にしているので
時間がかかってしまいます。

完成版は画像下段です。

何かいいコードはあるのでしょうか。

よろしくお願いします。

※添付画像が削除されました。

A 回答 (2件)

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

    • good
    • 0

初心者とはいえ、


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
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング