【マクロVBA練習問題9】色の変更!セルの文字色やセルの塗りつぶし色を変更する

マクロVBA練習問題




練習問題と内容について

・練習問題の狙い

このシリーズでは課題を元にマクロVBAを実践することでスキルを身につけることが出来ます。

正直、ソースコード作成については実践あるのみです!

答えのコードについては数例挙げますが、「もっといい答えがある」などの意見があれば

問い合わせから連絡ください!  

こんな問題を作ってほしいなどの意見もお待ちしております!

・練習問題9について

こちらはマクロVBAの初歩的な知識になります。

指定されたセルの文字色やセルの塗りつぶし色を変更する練習問題となります。

それでは頑張っていきましょう!

練習問題の内容と動作説明

問題内容

セル番地B2の文字を赤色に塗りつぶし、B4のセルを青色に塗りつぶす

動作説明

VBAを使用して、指定されたセルの文字色やセルの塗りつぶし色を変更します。

この問題では、セル番地B2の文字を赤色に塗りつぶし、B4のセルを青色に塗りつぶす必要があります。

ヒント


以下のヒントを参考にして解答コードを作成してみてください。

・ヒントその1

セルの文字色を変更するには、FontオブジェクトのColorプロパティを使用します。

例えば、Range(“B2”).Font.Color= RGB(255, 0, 0)というコードを使って、
セルB2の文字色を赤色に変更することができます。

・ヒントその2

セルの塗りつぶし色を変更するには、InteriorオブジェクトのColorプロパティを使用します。

例えば、Range(“B4”).Interior.Color = RGB(0, 0, 255)というコードを使って、
セルB4の塗りつぶし色を青色に変更することができます。


これらのヒントを参考にして、解答コードを作成してみてください。  

 

最新・便利な機能を搭載したExcel・officeを試しませんか?
Excel 2013以下を使用している方はサポートが終了しているので注意が必要です!
【最新2023年】Excel・Officeの価格比較!あなたに合ったオススメの製品の選定方法から購入 ► 独学エクセル塾 (dokugakuexcel.com)
 

 

解答コード

では回答を見ていきましょう!

・回答その①

Sub Exercise9()
 Range(“B2”).Font.Color = RGB(255, 0, 0) ‘ 赤色に設定
 Range(“B4”).Interior.Color = RGB(0, 0, 255) ‘ 青色に設定
End Sub

上記のコードは、セル番地B2の文字色を赤色に、
セル番地B4の塗りつぶし色を青色に変更するVBAのマクロです。

文字の色を塗りつぶす際は下記のように指定します。

Range(“文字の色をつけたいセル”).Font.Color=RGB(赤の要素,緑の要素,青の要素)
セルの色を塗りつぶす際は下記のように指定します。
Range(“色をつけたいセル”).Interior.Color=RGB(赤の要素,緑の要素,青の要素)

・回答その②

Sub Exercise9()

With Range(“B2”)
.Font.Color = vbRed
End With

With Range(“B4”)
.Interior.Color = vbBlue
End With
End Sub

上記のコードでは、セル番地B2の文字を赤色に変更しています。
また、セル番地B4の塗りつぶし色を青色に変更しています。

回答その①とは異なり、「RGB」での色の変更でなく、「定数」を使用しています。
定数の使用方法は下記の通りです。

Range(“色をつけたいセル”).Interior.Color=定数

With文を使用して、Range(“B2”)およびRange(“B4”)に対して
複数のプロパティを一括で設定しています。

 

 

必要な知識

この問題を解くためには、以下の基本的な知識が必要です。

セルの文字色の変更

セルの文字色を変更するには、FontオブジェクトのColorプロパティを使用します。
文字色はRGB値(赤、緑、青)で指定されます。
例えば、赤色は`RGB(255, 0, 0)`で表されます。

RGBの例

白:RGB(0,0,0)
黒:RGB(255,255,255)
赤:RGB(255,0,0)
黄色:RGB(255,255,0)
青:RGB(0,0,255)

セルの塗りつぶし色の変更

 セルの塗りつぶし色を変更するには、InteriorオブジェクトのColorプロパティを使用します。
塗りつぶし色もRGB値で指定します。

回答その②で紹介した、色の定数でも問題ありません。

※色の種類は下記の表参照

定数 文字の色
vbBlack
vbRed
vbGreen
vbYellow
vbBlue
vbMagenta
vbCyan シアン
vbWhite
 

セルの範囲指定

VBAでは、RangeオブジェクトやCellsオブジェクトを使用してセルを対象にします。

Rangeオブジェクトは、セルの範囲を指定する際に使用されます。例えば、Range(“A1”)はセル番地A1を指定します。
Cellsオブジェクトは、行番号と列番号を指定してセルにアクセスする際に使用されます。

例えば、Cells(1, 1)はセル番地A1を指定します。

With文の使用

With文を使用すると、同じオブジェクトに対して複数のプロパティを一括で設定できます。

今回は対象のセルに対して1つの動作でしたが、コードの可読性を向上させるために活用しましょう。


まとめ

この練習問題では、VBAを使用して特定のセルの文字色と塗りつぶし色を変更する方法について学びました。

具体的には、セル番地B2の文字を赤色に変更し、セル番地B4の塗りつぶし色を青色に変更する問題を解きました。
この問題を解くためには、セルの文字色や塗りつぶし色を変更するためのプロパティ、およびセルの範囲を指定する方法が必要でした。



VBAを使うことで、Excelの操作を自動化したり、複雑な計算や処理を行ったりすることができます。
練習問題を通じて、VBAのスキルを向上させ、より高度な操作や処理を行えるようになることを目指しましょう。

次の練習問題では、さらに別の課題に取り組んでいきますので、順番に解いていくことでスキルを磨いていきましょう。
以上で練習問題9となります。お疲れ様でした!