|
みなさま、こんにちは。
>欠番を全て一挙にエクセルの画面に表示する方法です。
ichinose さんのテストで最速だったコードから、テスト関連の処理を削除して
Sub test3()
Dim ans As Range
Dim rng As Range
Set rng = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
With Range("b1:b100")
.Formula = "=if(CountIf(" & rng.Address & ",Row())=0,row(),"""")"
.Value = .Value
On Error Resume Next
Set ans = .SpecialCells(xlCellTypeConstants)
If Err.Number = 0 Then
ans.Copy Range("C1")
End If
.ClearContents
End With
Set rng = Nothing
End Sub
B列を作業列として使い、C列に欠番が表示されます。
ichinose さん
自由研究、参考になります。
個人的には、多分、でれすけ さんご提案のMatchが速いのではと思います。
但し、データが昇順または降順になっている または、並べ替えても良い という前提の場合ですが。
Evaluate が、結構速いんですね。
これがちょっと意外でした。
|
|