[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 値が0のセルを探したい』(宰府空帆)
G列セルの値が0の行を削除するために、見よう見まねで次のマクロを書きました。 Sub 行削除() Dim 検索範囲 As Range Dim FoundCell As Range, FirstCell As Range, target As Range Dim i As long Set 検索範囲 = Range(Cells(6, 5), Cells(Rows.Count, 5).End(xlUp)) Set FoundCell = 検索範囲.Find("") 'ここでE列の値が""ではなく、"0"のセルを検索したいのですが、Find(0)とすると、値が001や40のセルも検索対象になってしまいます。 'そこで現在は0を””に置き換えて対象セルを検索しています。 'E列の値が"0"のセルを見つけるにはどうしたらいいでしょうか。 If FoundCell Is Nothing Then MsgBox "見つかりません" Exit Sub Else Set FirstCell = FoundCell Set target = FoundCell End If For i = 6 To Cells(Rows.Count, 5).End(xlUp).Row Set FoundCell = 検索範囲.FindNext(FoundCell) If FoundCell.Address = FirstCell.Address Then Exit For Else Set target = Union(target, FoundCell) End If Next i target.EntireRow.Delete End Sub
選択範囲でG列の値が0のセルを見つけたいのですが、001や40のセルも検索対象になってしまいます。 そこで、今は検索対象セルの値"0"を""に置き換えて、対象セルを検索しています。 G列の値が"0"のセルを見つけるためのコードを教えてください。
ヘルプを読んでみましょう Lookat:=xlwhole
次のように修正して修正して、思い通りにできました。 Sub 行削除() Dim 検索範囲 As Range Dim FoundCell As Range, FirstCell As Range, target As Range
Set 検索範囲 = Range(Cells(6, 5), Cells(Rows.Count, 5).End(xlUp)) Set FoundCell = 検索範囲.Find("0", LookAt:=xlWhole) −−−−−−−−−−・・・・修正部分 If FoundCell Is Nothing Then MsgBox "見つかりません" Exit Sub Else Set FirstCell = FoundCell Set target = FoundCell End If For i = 6 To Cells(Rows.Count, 5).End(xlUp).Row Set FoundCell = 検索範囲.FindNext(FoundCell) If FoundCell.Address = FirstCell.Address Then Exit For Else Set target = Union(target, FoundCell) End If Next i target.EntireRow.Delete
End Sub (宰府空帆)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.