for next 動的配列での書き方

for nextで動的配列の使い方を検索してみたんですが、いい回答が見つからないのでこちらに質問します。。

array、Lbound,Uboundなど様々な知識が出てきたんですが、こちらの私のコードに組み込みこむのがなかなか上手くいきません。

使いたいデータのレコード数が数十万桁あるので、このコードですと処理に150秒かかってしまうので、どうにか短縮したく配列という手法にたどり着きました。

どなたかご教授いただけると嬉しいです。

やりたい処理としましては、B列の二行目から、最終行までの文字列を左から8文字分取り出して、AL列の2行目以降に出力したい、といった感じです。

Sub dairiten()
Range("AL1") = "代理店コード8桁"

Application.ScreenUpdating = False

Dim i As Long, k As String, cmax1 As Long
cmax1 = Cells(Rows.Count, 2).End(xlUp).Row
For i = 2 To cmax1

k = Left(Range("B" & i).Value, 8) Range("AL" & i).Value = k Next Application.ScreenUpdating = True

コメントを投稿

0 コメント