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 コメント