“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型の配列で返します。
この記事へのコメントはありません。