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関連

    KB2553154の更新プログラムをアンインストールするVBScript

    2014/12/11 追記:当記事で紹介しているのは更新プログラム…

  2. Office関連

    ルビ(ふりがな)を一括設定するWordマクロ(改良版)

    これまで当ブログではルビを設定するWordマクロについて、いくつか記事…

  3. Office関連

    ファイルをBase64エンコード・デコードするVBAマクロ

    以前書いたファイルのBase64エンコード・デコード処理を行うVBAマ…

  4. Office関連

    指定したフォルダ内の画像ファイルを一括挿入するPowerPointマクロ

    大量の画像ファイルを1枚/1スライドで挿入する必要があり、…

  5. Office関連

    Microsoft Graph SDK for PHPを使ったAPIの呼び出しサンプル

    知らない間に(恐らくBuild 2017のタイミングに合わせて)Mic…

  6. Office アドイン

    Office 2016で進化したOffice アドイン

    今日OfficeDevを眺めていて気が付いたのが「OfficeJS S…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP