構文
Object.Characters(Start , Length)Start・・・・文字列の参照スタート位置を指定。省略時は1 Length・・・参照したい文字数を指定。省略時はStart以降全て
RangeオブジェクトのCharactersプロパティで、 セルに入力された文字列の一部を取得や、修正をします。
ワークシートの表示・非表示を変更するコードサンプル
Public Sub sample()
'■データ参照する場合
Debug.Print Range("A1").Characters(1, 3).Text 'セルA1の1文字目から3文字を取得
Debug.Print Range("A1").Characters(3, 2).Text 'セルA1の3文字目から2文字を取得
'■文字列を修正する場合
Range("A1").Characters(2, 1).Text = "あ" 'セルA1の2文字目から1文字を"あ"に変更
Range("A1").Characters(2, 1).Text = "ああ" 'セルA1の2文字目から1文字を"ああ"に変更
'※文字数に整合性がなくてもそのまま追加されます。
'例 1234→1ああ34
'■引数省略の場合
Debug.Print Range("A1").Characters(, 5).Text 'セルA1の1文字目から5文字を取得
Debug.Print Range("A1").Characters(1).Text 'セルA1の1文字目から以降、全ての文字を取得
'■フォントの太さや文字の大きさ、フォントカラーなどももちろん変更可能です。
Range("A1").Characters(1, 1).Font.Bold = True
Range("A1").Characters(1, 1).Font.Size = 20
Range("A1").Characters(1, 1).Font.ColorIndex = 5
End Sub
注意点
- 文字列全体を修正する場合は Charactersプロパティ を使用する意味はありません。
- 入力されたセルが数式の場合、エラーが発生します。 実行時エラー ‘1004’:アプリケーション定義またはオブジェクト定義のエラーです。
- 入力されたセルが数字のみの場合、エラーが発生します。 実行時エラー ‘1004’:アプリケーション定義またはオブジェクト定義のエラーです。
- 取得するLengthは文字数です。バイト数ではありません。



コメント