- ベストアンサー
セルデータの有無を判断して行を非表示にする
以下のようなマクロコードを教えて下さい。 A2からA100までのセルに商品名が入っておりB1,C1,D1・・・と右へ日付が入ったシートがあります。 B2からAF2までのセルが空白であれば2行目を非表示にする。 以下同様にB3からAF3まで、B4からAF4までを非表示というようにB100までです。 空白セルの把握やループの仕方がよくわかりませんでした。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「空白」の意味が、「まったく空っぽ」なのか「空白に見える結果が計算されている」などなのかによって、正しいマクロが変わるので注意してください。 sub macro1() dim i cells.entirerow.hidden = false for i = 1 to 99 if application.counta(range("B1:AF1").offset(i)) = 0 then rows(i+1).hidden = true end if next i end sub とか。 sub macro2() rows("2:100").hidden = true on error resume next range("B2:AF100").specialcells(xlcelltypeconstants).entirerow.hidden = false end sub とか。
お礼
ありがとうございます。 構文がわかりやすいのはmacro1ですが、macro2の方が動作が速いですね。 助かりました。