|
> dat(nCNT, 0) = eventNo '取得した値を配列に代入
> dat(nCNT, 1) = flapNo
> dat(nCNT, 2) = inDate
> dat(nCNT, 3) = inTime
> dat(nCNT, 4) = outDay
> dat(nCNT, 5) = outTime
> Cells(nCNT + 1, 2).Value = dat(nCNT, 0) '指定セルに書込
> Cells(nCNT + 1, 3).Value = dat(nCNT, 1)
> Cells(nCNT + 1, 4).Value = dat(nCNT, 2)
> Cells(nCNT + 1, 5).Value = dat(nCNT, 3)
> Cells(nCNT + 1, 6).Value = dat(nCNT, 4)
> Cells(nCNT + 1, 7).Value = dat(nCNT, 5)
> nCNT = nCNT + 1 'カウントをインクリメント
ぱっと見ですが...。
何で添え字の変化する配列に入れているのでしょうか?
せっかく配列に入れたのに、1個1個セルに値を入れているから余計に遅いんです。
2次元配列ならこんな感じで1活で入れられます。(列数が増たら応じて、複数回に分けて入れる。)
Dim Tb(1 To 20000, 1 To 1)
For i = 1 To 20000
Tb(i, 1) = i
Next
Range("A1").Resize(UBound(Tb)).Value = Tb
Erase Tb
表示形式等は書き込んだ後でいいんじゃないかと....。
|
|