• ベストアンサー

条件に合った行を非表示

J列の4行目から20行目まで数字が入力されています。 数字が「0」の時はその行自体を非表示にします。 VBAの記述がどうも分かりません。。 どなたかご教授いただけますでしょうか

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

空白セルも0と見なされてしまうので、IsEmptyで分岐して空白セルは除外してみました。 Sub test() Dim i As Long Dim targetRange As Range For i = 4 To 20 Set targetRange = Range("J" & i) If Not IsEmpty(targetRange) Then If targetRange.Value = 0 Then targetRange.EntireRow.Hidden = True End If Next i End Sub

noname#74087
質問者

お礼

希望した通りの動きで感謝しております。 ありがとうございます!!

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 難しく考えなくても、以下のように、文字列で比較すればよいです。 ただし、以下は、標準モジュールのほうが無難です。 Sub Test2()   Dim i As Long   For i = 4 To 20     If Cells(i, 10).Formula = "0" Then       Cells(i, 10).EntireRow.Hidden = True     End If   Next i End Sub

noname#74087
質問者

お礼

希望した通りの動きで感謝しております。 ありがとうございます!!

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

Sub test01() For i = 4 To 20 If Cells(i, "J").Value = 0 And Cells(i, "J") <> "" Then Rows(i).EntireRow.Hidden = True End If Next i End Sub

noname#74087
質問者

お礼

希望した通りの動きで感謝しております。 ありがとうございます!!

関連するQ&A