勉強メモ10_VBAの文字列結合を一瞬で終わらせるメモ(&結合からjoinに変える)
★0 はじめに
最近VBAの仕事で普通の文字列結合を
「&」で結合したらばりばり遅いということを知り、
「1234」という文字を100万回結合して時間を測定する実験を行った。
★1 &でつなげるとまじ遅い、以下の100万ループは30分かかった
Sub Macro1()
Dim kaishi As Single
kaishi = Timer
Dim a As Long
Dim sq As String
For a = 1 To 1000000
sq = sq & "1234"
Next a
MsgBox "処理にかかった時間は" & Round(Timer - kaishi, 1) & "秒です。"
End Sub
★2 JOINでやった場合、1秒で終わった。(midの方がもっと速いらしいけど)
Sub Macro1()
Dim kaishi As Single
kaishi = Timer
Dim a As Long
Dim ss() As String
Dim sq As String
For a = 1 To 1000000
ReDim Preserve ss(a - 1)
ss(a - 1) = "1234"
Next a
sq = Join(ss, "")
MsgBox "処理にかかった時間は" & Round(Timer - kaishi, 1) & "秒です。"
End Sub
★3 参考資料
Author And Source
この問題について(勉強メモ10_VBAの文字列結合を一瞬で終わらせるメモ(&結合からjoinに変える)), 我々は、より多くの情報をここで見つけました https://qiita.com/rinChome/items/199c6b9e3b3425810b37著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .