Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » Excel VBAのCharactersで最後の文字を取得する

Excel VBAのCharactersで最後の文字を取得する

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

正常に実行できると、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で最後の文字を取得する

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

.