|
検索&削除のモジュールに関してです。
先日、UO3さんから検索対象の削除モジュールでアドバイスを頂き
無事解決したのですが、今度は検索対象以外のものすべてを削除するモジュールを
書いています。
以下がそれです。
コラムA にある科目名を頼りに“投資”以外の科目の行を全て削除させる目的です。10行目から科目が入るRowになります。
Range("A10").Select
m = 10
Do Until Range("A" & m) = ""
If Not Range("A" & m) = "投資" Then
Rows(m).Delete
End If
m = m + 1
Loop
50行ほどあるのですが、これだと、全削除されずにかなり残ってしまいます。
なんとなくそうなるダメな理由が解るような気がするものの、どうしていいのかが
解りません。
以下は、検索対象を削除するモジュールですが、これの反対(検索対象以外を削除)版を行いたいわけです。
Dim cNo As Range
Dim myR As Range
Dim firstaddress As String
With Worksheets(2).Range("A9:AZ9")
Set cNo = .Find("投資", LookIn:=xlValues, SearchOrder:=xlByRows)
If Not cNo Is Nothing Then
firstaddress = cNo.Address
Do
If myR Is Nothing Then
Set myR = cNo
Else
Set myR = Union(myR, cNo)
End If
Set cNo = .FindNext(cNo)
Loop While cNo.Address <> firstaddress
End If
If Not myR Is Nothing Then myR.EntireRow.Delete
End With
これを上手く活用する事も出来るのでしょうが、上手くいきません。
どうぞご教示いただけますでしょうか。
宜しくお願い致します。
|
|