動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2405(ビルド17602.20000クイック実行)ベータチャネル
「エクセル vba characters count最後の文字」
といった検索キーワードでアクセスがありました。
Excel VBAのCharactersを使って最後の文字を取得するには、
どのようなコードを書けばいいのかを調べていらした方による検索です。
[スポンサードリンク]
Charactersで最後の文字を取得するサンプルプロシージャ
何らかの文字列の入力されているセルがアクティブな状態で、以下のSubプロシージャを実行してください。
Sub Charactersで最後の1文字を取得する()
Dim cnt As Long
cnt = ActiveCell.Characters.Count
Dim chrs As Characters
Set chrs = ActiveCell.Characters(cnt, 1)
Stop
End Sub
Dim cnt As Long
cnt = ActiveCell.Characters.Count
Dim chrs As Characters
Set chrs = ActiveCell.Characters(cnt, 1)
Stop
End Sub
正常に実行できると、Stopステートメントで中断しますから、拙著『いちばんやさしいPowerPoint VBAの教本』などで繰り返し行っているように、ローカルウィンドウで最後の1文字を表すChractersオブジェクトが取得できていることを確認できます。
上図は「山田太郎」と入力されているセルがアクティブな状態で実行して、ローカルウィンドウを表示している状態です。
サンプルプロシージャで行っている処理
上記のサンプルプロシージャでは、以下の処理を行っています。
Characters.Countプロパティを使って取得した文字数を、
変数cntに代入しています。
Dim cnt As Long cnt = ActiveCell.Characters.Count
つづいて、Range.Charactersプロパティの
第1引数Startに先ほどの変数cntを、第2引数Lengthに「1」を指定することで、最後の1文字を表すCharactersオブジェクトを取得しています。
Dim chrs As Characters Set chrs = ActiveCell.Characters(cnt, 1)
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAのCharactersで最後の文字を取得する