シート上のリスト(セル範囲)を比較するのを高速化したいということでしょうか。
セルを一つずつ参照するのは重い処理になるので、リスト(セル範囲)を配列に格納して配列で比較するといいでしょう。
Office TANAKA - VBA高速化テクニック[配列を使う]
コード例
vba
1Sub Sample()
2 Dim ary_all()
3 ary_all = WorkSheets("all").Range("A2:A10000").Value
4
5 Dim ary_list()
6 ary_list = WorkSheets("list").Range("A2:A1000").Value
7
8 Dim ary_res() As String
9 ReDim ary_res(1 To UBound(ary_all), 1 To 1)
10
11 Dim i As Long, j As Long, bNew As Boolean
12 For i = 1 To UBound(ary_all)
13 bNew = True
14 For j = 1 To UBound(ary_list)
15 If ary_all(i, 1) = ary_list(j, 1) Then
16 bNew = False
17 Exit For
18 End If
19 Next j
20 If bNew Then ary_res(i, 1) = "新"
21 Next i
22
23 WorkSheets("all").Range("B2:B1000").Value = ary_res
24
25End Sub
あるいは、関数で存在チェックしてもいいでしょう。
指定したデータがリスト内に存在するかどうかを確認する:Excel 一般|即効テクニック|Excel VBAを学ぶならmoug
VBAで関数を設定して、値に変換するという方法のコード例
vba
1Sub Sample2()
2 With WorkSheets("all").Range("B2:B9")
3 .Formula = "=IF(COUNTIF(list!$A$2:$A$8,all!A2),"""",""new"")"
4 .Value = .Value
5 End With
6End Sub