>  > 【メーカー在庫あり】 NTN(株) NTN 自動調心ころ軸受 22316EAD1 JP

【メーカー在庫あり】 NTN(株) NTN 自動調心ころ軸受 22316EAD1 JP

数万行を超えるデータを処理していく場合は、そのデータを一旦配列に入れて、配列の中で処理してからシート上に戻す…というテクニックが極めて有効です。

 

■データを一旦配列に入れるとは

 

例えば CRIMSON(クリムソン) CLUB LINEA L450 (クラブリネア L450) 19インチ 9.0J PCD:112 穴数:5 inset:-6 DISK TYPE:HIGH カラー:ブラック [ホイール1本単位]/H、シートのA列とB列に数字が2行目から50万行目まで入っているとします。リスティング広告のログデータなどではこのような大きなデータはざらにあります。2行目から順に、A列とB列の数字を掛け算した値をC列に入れる場合 CRIMSON(クリムソン) CLUB LINEA L747S (クラブリネア L747S) 19インチ 7.5J PCD:120 穴数:5 inset:55 DISK TYPE:LOW カラー:ブロンズクリア [ホイール1本単位]/H、通常であれば次のようなプロシージャになりますね。

 

Sub sample()

    Application.ScreenUpdating = False

    Dim i As Long

    For i = 2 To 50000

        Cells(i, 3) = Cells(i, 1) * Cells(i, 2)

    Next

End Sub

 

この処理の所要時間は、状況によって変わりますが8秒ほどかかります。

 

これを次のように サイドステップ【ロエン / トミーカイラ】【 HIACE(ハイエース) 4# KDH/TRH20# 2013.12~ 】 サイドステップ [材質] ABS br *塗装済み、シート上のデータを一旦配列に入れて、その中で処理してシートに戻すことでその所要時間は1秒足らずに短縮されます。

 

Sub sample()

    Application.ScreenUpdating = False

    Dim i As Long

    Dim Table As Variant

    Table = Range("A1:C50000")

    For i = 2 To 50000

        Table(i, 3) = Table(i, 1) * Table(i, 2)

    Next

    Range("A1:C50000") = Table

End Sub

 

このプロシージャを理解する最大のポイントは5行目、

 

Table = Range("A1:C50000")

 

 この処理です。

一つ前の行でTableという変数をでVariant型、つまり何でも入る型で宣言しています。

この変数にRange("A1:C50000")というセル範囲を入れると 【送料無料】 165/60R15 15インチ WEDS ウェッズ レオニス SK 4.5J 4.50-15 DUNLOP ダンロップ ルマン V(ファイブ) サマータイヤ ホイール4本セット【DUsum18】、変数Tableはタテ5万行、ヨコ3列という配列になるのです。

目には見えませんからイメージしずらいですが ZESTINO ゼスティノ Gredge 07R 215/45R17 BLEST Bahnsport Type902 ホイールセット 4本 17インチ 17 X 7 +42 4穴 100、シート上で見えてるセル 、データの状態そのままをイメージします。

 そして、配列の中の各部屋(シート上で言うセルに該当)はそれぞれ、Table(1,2)などのように指定することができます。つまり[Table = Range("A1:C50000")]という処理をした場合、

、A2セルに該当する配列内の部屋はTable(2,1)となります。

 配列の中でForNext構文を使って配列一列目の値と配列2列目の値を掛け算した値を配列3列目に入れているのが次の部分です。

 

  For i = 2 To 50000

        Table(i, 3) = Table(i, 1) * Table(i, 2)

    Next

 

 そして配列の中で2行目から50000行目まで処理が終わったら、この配列の値をまるごとシートに戻します。それが

 

 Range("A1:C50000") = Table

 

 という処理です。

 

 これが 【送料無料】 205/65R15 15インチ カジュアルセット タイプB17 ブロンズ 6J 6.00-15 YOKOHAMA ヨコハマ ブルーアース A(AE50Z) SALE サマータイヤ ホイール4本セット【YOsum18】、大量のデータ処理で重くて時間がかかる時は、一旦配列に入れてその中で処理して、

【メーカー在庫あり】 NTN(株) NTN 自動調心ころ軸受 22316EAD1 JP

、またシートに戻すと早くなるという方法の基本です。

{yahoojp}jpprem01-zenjp40-wl-zd-88519