• ベストアンサー

行を非表示です

お願いします A列にはコード番号を表示しています 7行目から 102 104 107 110 101 105 順不順です End(xlUp))で最終行を取得します 上記中のR列に空白セルがある場合その行をEntireRow.Hidden = True で非表示としたいのです どうかご指導おねがいします

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

当方も回答1さんと同様なことを感じます。 End(xlUp)やEntireRow.Hiddenなどを使える人が なせ、Ifの基本を??? と、まあ、それは置いといて。。。 '----------------------------------------------- Sub Test()  Dim i As Long  For i = 7 To Cells(Rows.Count, "A").End(xlUp).Row    If Cells(i, "R").Value = "" Then      Cells(i, "R").EntireRow.Hidden = True    End If  Next i End Sub '----------------------------------- 行削除は次のコードでもいい。  Rows(i).Hidden = True 以上です。

その他の回答 (3)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

全行表示にすれば良いのでは Sub 行再表示()   Rows("1:" & Rows.Count).Hidden = False End Sub

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

そこまで判っている(コードのカケラを書いている)なら、なぜ質問になるのかな。 もしつまずきがあるなら、その点挙げて置くべき。 R列の最終行から上に、各行でR列は空白か聞いて、空白なら行の非標示に設定しては。 既に非表示の行はあるという前提か。 行は非表示でも、For Nextで(削除と違って)全行捕まえられるのでは。だから下から処理しなくてもよいのかも。 テスト Sub test02() For i = 1 To 10 MsgBox i Next i End Sub 非標示行(があるが、そ)の行番号も表示する。

daisen2305
質問者

補足

imogasi 様 ありがとうございます すみません A列にはコード番号 b列には現場名 cは工期 dは請負額 EからQまではその工事の科目ごとの経費が記入され最後のR列で その工事経費計が表示されます 工事によっては発生していない経費があるため、R列の合計がないです その経費合計は、時々表示するためR列のない工事名を非表示にしたか ったためです。 説明不足すいません

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

最終行から見ていけば For i = 最終行 To 7 Step -1   If Cells(i, "R").Value = "" Then     Rows(i).Hidden = True

daisen2305
質問者

補足

最終行を記述して以下のようにしました 出来ました 確認いただけたら幸いです 問題ないようでしたら閉じます よろしくお願いします Sub 行非表示() Application.ScreenUpdating = False 最終行 = Range("a10000").End(xlUp).Row For i = 最終行 To 7 Step -1 If Cells(i, "R").Value = 0 Then Rows(i).Hidden = True End If Next End Sub Sub 行再表示() Application.ScreenUpdating = False 最終行 = Range("a10000").End(xlUp).Row For i = 最終行 To 7 Step -1 If Cells(i, "R").Value = 0 Then Rows(i).Hidden = false End If Next End Sub