wrote :: 2005.02.19
| Test1 | Test2 | % | |
| 1回目 | 00:19 | 00:02 | 10.5% |
| 2回目 | 00:18 | 00:01 | 5.6% |
| 3回目 | 00:18 | 00:02 | 11.1% |
| 4回目 | 00:18 | 00:02 | 11.1% |
| 5回目 | 00:18 | 00:01 | 5.6% |
| 6回目 | 00:19 | 00:02 | 10.5% |
| 7回目 | 00:18 | 00:02 | 11.1% |
| 8回目 | 00:18 | 00:01 | 5.6% |
| 9回目 | 00:18 | 00:02 | 11.1% |
| 10回目 | 00:18 | 00:01 | 5.6% |
| 平均 | 00:18 | 00:02 | 8.8% |
Sub Test1()
Dim i As Long, j As Long, buf As Long
For i = 1 To 10000
For j = 1 To 100
buf = Cells(i, j)
Next j
Next i
End Sub
Sub Test2()
Dim i As Long, j As Long, buf As Long, C As Variant
C = Range("A1:CV10000")
For i = 1 To 10000
For j = 1 To 100
buf = C(i, j)
Next j
Next i
End Sub
Sub Sample()
Dim C As Variant
C = Range("A1:A10000")
Range("B1:B10000") = C
End Sub
![]() |
A列には名前、B列にはランダムな数字が入力されています。 データは全部で10,000件。セル範囲A1:B10000に入力されています。 この中から「田中」のデータを探してみます。 なお「田中」は10,000行目のセルA10000にだけ入力されています。 |
Sub Test1()
Dim Ans As Long, i As Long
For i = 1 To 100
Ans = Range("A1:B10000").Find(What:="田中", After:=Range("A1")).Offset(0, 1)
Next i
End Sub
Sub Test2()
Dim Ans As Long, i As Long
For i = 1 To 100
Ans = WorksheetFunction.VLookup("田中", Range("A1:B10000"), 2, False)
Next i
End Sub
Sub Test3()
Dim C As Variant, Ans As Long, i As Long, j As Long
C = Range("A1:B10000")
For i = 1 To 100
For j = 1 To 10000
If C(j, 1) = "田中" Then Ans = C(j, 2)
Next j
Next i
End Sub
| Find | VLOOKUP | 配列 | |
| 1回目 | 3795 | 701 | 981 |
| 2回目 | 3585 | 691 | 972 |
| 3回目 | 3636 | 701 | 981 |
| 4回目 | 3575 | 671 | 952 |
| 5回目 | 3575 | 711 | 971 |
| 6回目 | 3625 | 711 | 1032 |
| 7回目 | 3585 | 681 | 1001 |
| 8回目 | 3545 | 701 | 991 |
| 9回目 | 3556 | 731 | 982 |
| 10回目 | 3645 | 751 | 971 |
| 平均 | 3612.2 | 705 | 983.4 |