Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAでCharactersを後ろから処理する

Excel VBAでCharactersを後ろから処理する

動作検証バージョン: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

文字列「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を後ろから処理する

Copyright © インストラクターのネタ帳 All Rights Reserved.

.