• ベストアンサー

セルデータの有無を判断して行を非表示にする

以下のようなマクロコードを教えて下さい。 A2からA100までのセルに商品名が入っておりB1,C1,D1・・・と右へ日付が入ったシートがあります。 B2からAF2までのセルが空白であれば2行目を非表示にする。 以下同様にB3からAF3まで、B4からAF4までを非表示というようにB100までです。 空白セルの把握やループの仕方がよくわかりませんでした。 よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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 とか。

ss696
質問者

お礼

ありがとうございます。 構文がわかりやすいのはmacro1ですが、macro2の方が動作が速いですね。 助かりました。

関連するQ&A