構文
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は文字数です。バイト数ではありません。
コメント