“01234567890123456789012…”というような長い文字列を一定の文字数で区切る必要があったので、簡単に処理を考えてみました。
Option Explicit
Public Sub Sample()
Dim v As Variant
Dim s As String
s = "01234567890123456789012"
s = s & "34567890123456789012345"
s = s & "67890123456789012345678"
s = s & "90123456789012345678901"
s = s & "23456789012345678901234"
s = s & "56789012345678901234567"
s = s & "89012345678901234567890"
s = s & "12345678901234567890123"
s = s & "45678901234567890123456"
s = s & "7890123456789012345"
v = SplitStr(s, 10)
Debug.Print s
Debug.Print "----------"
Debug.Print Join(v, vbCrLf)
End Sub
Private Function SplitStr(ByVal TargetStr As String, ByVal StrLength As Long) As Variant
'文字列を指定した文字数で分割
Dim v As Variant
Dim n As Long
Dim i As Long
n = 0 '初期化
ReDim v(0 To Round(Len(TargetStr) / StrLength - 0.5, 0)) '切り捨て
For i = 1 To Len(TargetStr) Step StrLength
v(n) = Mid(TargetStr, i, StrLength)
n = n + 1
Next
SplitStr = v
End Function
上記SplitStr関数は、指定した文字数で文字列を分割して結果をVariant型の配列で返します。















この記事へのコメントはありません。