![]()
筆箱にVBAのカンニングペーパーを入れる係のみすくです。こんにちは。

Excelのセルを読み込んで配列に格納します。
VBAの配列の仕様は微妙だけど、処理は高速です。
一行ずつ処理をする場合、いったん配列に入れてからやると良いです。
Option Explicit
'---------------------------------------
' 列インデックス
'---------------------------------------
Private Enum eCOL
COL_CATEGORY = 1
COL_VEGETABLE
COL_FRUITS
COL_SEASONING
COL_CONFECTION
End Enum
Public Sub main()
Dim sh As Worksheet 'ワークシートオブジェクト
Dim arr As Variant '作業領域配列
Dim index As Long 'カウンタ
Dim endRowIndex As Long '最終行
Set sh = ThisWorkbook.Worksheets("Sheet1")
'末尾行
endRowIndex = sh.Cells(Rows.Count, "A").End(xlUp).Row
'配列に格納
arr = sh.Range(sh.Cells(2, eCOL.COL_CATEGORY), sh.Cells(endRowIndex, eCOL.COL_CONFECTION))
For index = 1 To UBound(arr)
Debug.Print arr(index, eCOL.COL_CATEGORY)
Debug.Print arr(index, eCOL.COL_VEGETABLE)
Debug.Print arr(index, eCOL.COL_FRUITS)
Debug.Print arr(index, eCOL.COL_SEASONING)
Debug.Print arr(index, eCOL.COL_CONFECTION)
Next index
Set sh = Nothing
End Sub
Collectionで実装。
速さを求めるなら配列。
最近のコメント


コメントを残す