[[20120922213058]] 『VBA 値が0のセルを探したい』(宰府空帆) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA 値が0のセルを探したい』(宰府空帆)
環境はWindows7、Excel2010です。

 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"のセルを見つけるためのコードを教えてください。

Findの引数は省略しないほうがよいですよ(マナ)

 ヘルプを読んでみましょう
 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.