検索

キーワード


【Excel VBA】セル内の文字の一部だけ色を変更する方法

  • 公開日:2020-12-01 09:59:17
  • 最終更新日:2021-03-10 20:36:45

エンジニアのIMMRです。


セルに入力された文字で注目してほしい箇所があった場合、

色を付けると思います。

例えば、下記のようにセルに入力された文字の中でVBAだけを赤くしたいとします。


図1 ブック(セルB2に文字が入力されている)

編集前ブックイメージ


文字を赤くするには、下記のように記述します。

Range("B2").Font.Color = RGB(255, 0, 0)


お気づきだと思いますがこれだと全ての文字が赤くなります。


図2 ブック(上記、プログラムの実行結果)

プログラム実行後ブックイメージ


ではどのようにして行うかを説明します。


1.セル内の文字の一部だけ色を変更する関数

記述方法は、

Range("").Characters(Start:=X, Length:=X).Font.Color = RGB(@, @, @)


 ・Range("")には変更したい文字が入力されているセルの場所を記載します。

 ・Charactersでセル内の変更したい文字の場所をしていします。( Startでスタートの位置、Lengthで文字数)

 ・Font.Color = RGB(@,@,@)で変更したいフォントの色をしていします。(ここではRGB方式で行っています。)


2.セル内の文字の一部だけ色を変更する方法の使用例

実際に行っていきます。


図3 ブック(セルB2に文字が入力されている)編集前ブックイメージ


上記ブック内に記載されている文字でVBAだけを赤くします。

 ・文字が記載されている場所はB2

 ・VBAと記載されている箇所は5文字目から始まり、3文字(Start 5    Length 3)

 ・赤文字にしたいので、RGB(255, 0, 0)

になります。


サンプルコード

Sub test15()
    
    Range("B2").Characters(Start:=5, Length:=3).Font.Color = RGB(255, 0, 0)

End Sub


3.セル内の文字を一部だけ色を変更する方法の実行結果

上記、サンプルコードを使用して、セル内の文字を一部だけ色を変更することが出来るか確認します。


図4 ブック(上記、コード実行後)

プログラム実行後ブックイメージ


文字列でVBAの箇所のみを赤色にすることが出来ました。



【著者】

Imamura

今まではExcel VBAの開発をしてきました。
開発を主にしたものや他の業務の効率化を目指して行ったものさまざまです。
現在は、他のプログラミング言語に挑戦して、スキルアップを目指しています。

よく読まれている記事