Office関連

文字列を指定した文字数で分割するVBA関数

“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型の配列で返します。

以前のGoogle マップを使う。前のページ

PDFファイルに差し込み印刷するVBAマクロ次のページ

関連記事

  1. Office アドイン

    作業ウィンドウのアプリをWord 2013にも対応させる。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  2. Office関連

    [Excel Services ECMAScript]アクティブセルが変更されたときのイベントを利用…

    埋め込んだExcelワークブックの、アクティブセルが変更されたときのイ…

  3. Office関連

    Officeアプリケーションのバージョン情報ダイアログから情報を取得するVBScript

    自分の手間を減らすためのスクリプトシリーズ、今回はWordやExcel…

  4. Office関連

    Outlookの連絡先をvcf形式で一括保存する方法

    Outlookの連絡先をvcf形式で保存する場合、通常は「連絡先を v…

  5. Office アドイン

    Office Scriptsってどんな機能?

    昨年の11月、Ignite 2019で発表されたオンライン版Excel…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP