VBA – 文字列のループ処理
In this Article
このチュートリアルでは、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を使えば、初心者が最小限のコーディング知識でゼロから手順をコーディングできるだけでなく、ベテランのユーザーでも時間の節約に役立つ多くの機能を備えています! もっと詳しく