VBA – 文字列のループ処理

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

masahiro yoshida

Last updated on 8月 1, 2022

このチュートリアルでは、VBAを使用して文字列をループ処理する方法を説明します。

VBAで文字列ループ処理することで、文字列に対して特定のロジックを実行したり、文字列から個々の文字を取り出したりできます。

文字列の各文字をループ処理する

次の例は、For…Nextループを使用して文字列をループし、各文字をmsgboxに返します。

Sub LoopThroughString()

Dim Counter As Integer
Dim MyString As String

MyString = "AutomateExcel" '文字列を定義する

For Counter = 1 To Len(MyString)
    '文字列の各文字に何かする
    'ここでは各文字を msgbox で表示する
    MsgBox Mid(MyString, Counter, 1)
Next

End Sub

Len関数は、文字列の総文字数を数えます。つまり、

For Counter = 1 to Len(MyString)

は、文字列内の各文字をループします。

文字列の各文字をループする – 代替案

文字列の各文字を読み取る

この例では、文字列内のすべての文字を左から右へ読み取り、その結果をメッセージボックスに返します。この例では Mid関数を使って実現しています。(前述の例とほぼ同じです。)

Sub LoopThroughString()

Dim LookInHere As String
Dim Counter As Integer

'ここで任意の文字列を設定する
LookInHere = "AutomateExcel.com"

For Counter = 1 To Len(LookInHere)
    MsgBox Mid(LookInHere, Counter, 1)
Next

End Sub

文字列の各単語を読み込む

この例では、文字列のすべての単語を左から右へ読み込んで、その結果をメッセージボックスに返します。この例では split関数を使っています。

Sub LoopThroughString2()

Dim LookInHere As String
Dim Counter As Integer
Dim SplitCatcher As Variant

'ここで任意の文字列を設定する
LookInHere = "I Heart AutomateExcel.com"

SplitCatcher = Split(LookInHere, " ")

For Counter = 0 To UBound(SplitCatcher)
    MsgBox SplitCatcher(Counter)
Next

End Sub

VBAのコーディングが簡単に

VBAのコードをオンラインで検索するのはもうやめましょう。AutoMacro – A VBA Code Builderを使えば、初心者が最小限のコーディング知識でゼロから手順をコーディングできるだけでなく、ベテランのユーザーでも時間の節約に役立つ多くの機能を備えています! alt text もっと詳しく

<<VBAのサンプルに戻る

vba-free-addin

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(No installation required!)

Free Download

Return to VBA Code Examples