string」といった検索キーワードによるアクセスに気づきました。調べていた方による検索です。[スポンサードリンク]ですが実際には、Range.Charactersプロパティなどによって取得できるCharactersオブジェクトが、どのようなものなのか理解し辛い、ということが課題なのではないかと、推測しています。CharactersオブジェクトのInsertメソッドを使ったサンプルマクロ以下のSubプロシージャの、Range.Charactersプロパティの引数を変えながら何度か実行してみると、ヒントが得られるでしょう。Editor)のショートカットキー[F8]を使った、ステップ実行を行うほうが、よりCharacters.InsertメソッドやCharactersオブジェクトの仕様がよく見えてくると思います。"イロハ"が実行されると、下図のようにアクティブなセルに「イロハ」と入力されます。"★"が実行されると、下図のように1文字目の位置に「★」が挿入されます。"★"1文字目の、0文字分の長さを持つCharactersオブジェクトが取得でき、そこにCharacters.Insertメソッドで「★」が挿入されたわけです。"★"としてから、再度ステップ実行してみましょう。下図のように2文字目に「★」が挿入されます。Range.Charactersプロパティの、引数・Startに「2」、Lengthに「0」が指定されているので、2文字目の位置の、0文字分のCharactersオブジェクトが取得でき、そこにCharacters.Insertメソッドで「★」が挿入されたわけです。"★"としてから、もう一度ステップ実行して、3文字目に「★」が挿入されることを確認しましょう。Range.Charactersプロパティの引数・Lengthの役割つづいて、Range.Charactersプロパティの引数・Lengthの役割を確認しましょう。"★"と指定して実行すると、1文字目から1文字分の文字列「イ」を表すCharactersオブジェクトが取得されて、「★」がInsertされるので、のように「イ」が「★」に上書きされた状態になります。"★"と指定して実行すると、1文字目から2文字分の文字列「イロ」を表すCharactersオブジェクトが取得されて「★」がInsertされるので、のように「イロ」が「★」に上書きされた状態になります。Charactersプロパティの引数の意味を考えながら、こういったテストを繰り返すと、Charactersオブジェクトがイメージできるようになるでしょう。string」という検索をなさった方は、CharactersオブジェクトのInsertメソッドを使ったコードをどこかでご覧になったはずですが、本当にCharacters.Insertを使う必要があるのかは、よく考えてみてください。上述のようなテストをすれば、Charactersオブジェクトと、Characters.Insertメソッドの仕様を理解できますが、わかりやすいかというと、疑問が残るのではないでしょうか。Characters.Textプロパティなどを使って文字列を取得して、VBAのReplace関数を使って文字列を置換することでも、Characters.Insertメソッドで行ったことを同じことはできるはずです。Characters.Insertメソッドを使う場合と比較すると、コードは数行ほど長くなるはずですが、Replace関数を使うほうが理解はしやすいと感じられるはずです。Characters.Insertを使う必要があるのか、いま一度、考えてみてください。オブジェクト式解説編』を開催します。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。