動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2407(ビルド17820.20000クイック実行)ベータチャネル
「vba characters 後ろから」
といった検索キーワードで時折アクセスがあります。
Charactersオブジェクトを後ろから順番に処理するには、どのようなコードを書けばいいのかを調べていらしたのでしょうか。
[スポンサードリンク]
Charactersを後ろから処理するサンプルマクロ
「abc」と入力されているセルがアクティブな状態で、以下のExcelマクロを実行してください。
Sub Charactersを後ろから処理する()
Dim i As Long
With ActiveCell
For i = .Characters.Count To 1 Step -1
MsgBox .Characters(i, 1).Text
Next
End With
End Sub
Dim i As Long
With ActiveCell
For i = .Characters.Count To 1 Step -1
MsgBox .Characters(i, 1).Text
Next
End With
End Sub
文字列「abc」が後ろから処理され
c
b
a
の順にメッセージボックスに表示されます。
サンプルマクロで行っている処理
CharactersオブジェクトのCountプロパティで、
文字数を取得できます。
「abc」と入力されているセルがアクティブであれば、戻り値は「3」です。
Characters.Countで取得した文字数から、「1」になるまで、「Step -1」でFor~Nextループを回し、
With ActiveCell For i = .Characters.Count To 1 Step -1
ループ内部では、Range.Charactersプロパティの
第1引数にカウンター変数i、第2引数に「1」を指定することで、
MsgBox .Characters(i, 1).Text
後ろから順番に処理することができます。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAでCharactersを後ろから処理する