|
▼piropiro さん:
まだ原因はわかりません。
もう1つ確認してください。
>一つ一つ手動で検索→削除すると1128行のデータが残るのですが
>VBAで実行すると1118行で10行分のデータが削除されてしまっているのです。
このシートで以下のコードを走らせてください。
で、でてくるメッセージが正しい件数かどうかを確認してみてください。
(全体の行数と削除行数を表示しています。ですから引き算すれば残る行数になります)
Sub 確認2()
Dim a As Range
Dim r As Range
Dim c As Range
Dim f As Range
Dim x As Long
'使用領域の K列から最終列までの列数
x = Range("A1", ActiveSheet.UsedRange).Columns.Count - 10
'判定対象領域
Set a = Range("I4", Range("I" & Rows.Count).End(xlUp)).Offset(, 2).Resize(, x)
Set c = a.Find(What:="NA", LookAt:=xlWhole)
If c Is Nothing Then
MsgBox "領域に NA はありません"
Exit Sub
End If
Set f = c
Do
If r Is Nothing Then
Set r = c
Else
Set r = Union(r, c)
End If
Set c = a.FindNext(c)
Loop While c.Address <> f.Address
MsgBox "対象領域の行数は " & a.Rows.Count & "行で、そのなかの削除対象は" & Intersect(r.EntireRow, Columns("K")).Count & "行です"
End Sub
|
|