VBAをマスターしよう~④セルの操作(罫線・文字)~

あれほど暑かった夏がようやく終わり、季節は秋に向かおうとしていますね。
この時期になると筆者はフジファブリックの『若者のすべて』を聴きたくなるのですが、読者の皆さんもそんな曲が合ったりするのでしょうか?

 とまあ、ラジオの始まりみたいなしょうもない話は置いておいて、VBAをマスターしようという記事の第四回目になります。過去の記事を見たい方がいらっしゃいましたら、下の所から読んでいただけるとありがたいです。

 今回は文字のサイズ、太字、斜字への変更の仕方や、罫線などについて説明していきたいと思います。ここを覚えれば、エクセルで表を作成できるようになるので、実際に動かしたときに面白味を感じられるかもしれないです。
ちなみに表の作成については次の第五回で説明させていただきたいと考えています。

フォントサイズ変更

最初にフォントサイズの変更の仕方からいきましょう。
文字の大きさを変えたい場合のコードは以下になります。

対象のセル(範囲選択も可能).Font.Size = 設定値(整数)

対象のセル部分で文字を大きくしたいセルを選択し、『=』より右辺にその大きさを示してあげるだけです。ちなみに図では一つのセルしか選択していませんが、複数範囲を選択してまとめて文字の大きさを変更させることも可能です。

ちなみに文字に関連する指示に関しては、『対象セル.Font.変化させたい部分 = 設定値』と言った感じで、当たり前ですが『.Font』を必ず使います。

フォントサイズコード例

図のコード例:Cells(4,2).Font.Size = 20
処理    :B4セル(Cells(4,2)と同じ)の文字サイズを20に変更させる。

太字・斜字

次に太字・斜字になります。
基本的な形は以下の通りです。

太字:対象のセル(範囲選択も可能).Font.Bold = True
斜字:対象のセル(範囲選択も可能).Font.Italic = True

太字・斜字のコード例

図のコード例:Cells(4, 2).Font.Bold = True
      :Cells(4, 2).Font.Italic = True
処理    :B4セル(Cells(4,2)と同じ)を太字に変更する。
      :B4セル(Cells(4,2)と同じ)を斜字に変更する。

コードの形としてはフォントサイズのものとほぼ同じです。
違うのは『.Font』以降と『=』より右辺の部分だけになります

先に『.Font』以降の部分についてですが、こちらは上の『太字』、『斜字』のコードを見比べてもらうとわかることですが、変わっている部分はそこだけです。要は、ここに入れるものによって文字に対する処理が変わってきているのです。ここで選択できるものは太字、斜字以外にも幾つかあるので簡単に紹介しときます。

太字Bold
斜字Italic
取り消し線Strikethrough
上付き文字Superscript
下付き文字Subscript
影付きShadow

それぞれ、実行させると以下のようになります。
正直、太字・斜字以外は使用頻度としてはかなり低いと思いますので、興味のある方は試してもらえたらと思います。

文字の形式色々

罫線

VBAで罫線を引きたい場合について説明します。
基本形は以下の通りです。

Range(範囲).Borders(引きたい箇所).対応したいこと(線、色、太さなど) = 種類

罫線を引きたい場合、必ず必要になるのが、『.Borders』になります。こちらは罫線の処理に関連するときに必ず使います。文字と違い選択する種類が多いので、それぞれひとつずつ見ていきましょう。

罫線を引きたい場所

まず、罫線を引きたい場所ですが、これは以下から選択します。

xlEdgeBottom下側
xlEdgeLeft左端
xlEdgeRight右端
xlEdgeTop上側
xlDiagonalDown左上隅から右下
xlDiagonalUp左下隅から右上
xlInsideHorizontal全てのセルの水平罫線
xlInsideVertical全てのセルの垂直罫線

このように細かく引く箇所を選択することができます。
また、指定しなかった場合格子状に引くようになっています。

罫線の種類

罫線の種類を選択したい、要は罫線を引きたい場合は『LineStyle』を使います。
『=』右辺の『種類』については以下から選択することができます。

xlNone(xlLineStyleNone)なし
xlContinuous実線
xlDash破線
xlDashDot一点鎖線
xlDashDotDotニ点鎖線
xlDot点線
xlDouble二本線
xlSlantDashDot斜破線

こちらも数多く種類がありますが、使うのは『実線』、『破線』、辺りだと思います。

罫線の色

続いて罫線の色ですが、こちらは『Color』を使用します。まんまですね。
『種類』の部分については『RGB(0, 0, 0)』を使います。

例:Range(“E4”).Borders.Color = RGB(255, 0, 0)

ちなみにRGBで色を選ぶと言われても、どの値にすれば何色になるのかわからない人も多いと思いますので、ちょっとしたRGB値を調べる小技を紹介します。

まず、エクセル『ホーム』タブ内にある『塗りつぶしの色』を選択します。(隣にある『フォントの色』でも可)
開いた画面から『その他の色』を選びます。

RGBの値を確認する方法

すると、下図の画面が出てくると思いますので、タブを『ユーザー設定』に変更します。
あとは『色』の欄の部分を動かすと、下のRGBの値が変わっていくのでその数値をとればOKです。

RBG値を探す方法その2

罫線の太さ

では、最後に文字の太さについてです。使用するのは『Weight』になります。
太さの種類は全部で四つしかないので他の所よりは覚えやすいです。

xlHairline非常に細い線
xlMedium普通
xlThick太線
xlThin細線

例:Range(“E4”).Borders.Weight = xlMedium

ちなみに説明した罫線関連のコードを書くとこんな感じになります。

罫線を操作する例
Sub 罫線()

'E4セルの上に実線を引く
Cells(4, 5).Borders(xlEdgeTop).LineStyle = xlContinuous

'E4セルの上の罫線を赤色にする
Cells(4, 5).Borders(xlEdgeTop).Color = RGB(255, 0, 0)

'E4セルの上の罫線を太線にする
Cells(4, 5).Borders(xlEdgeTop).Weight = xlThick

'E6セルに破線を引く
Cells(6, 5).Borders.LineStyle = xlDash

'E6セルの罫線を緑色にする
Cells(6, 5).Borders.Color = RGB(22, 234, 27)

'E6セルの上の罫線を普通にする
Cells(6, 5).Borders.Weight = xlMedium

End Sub

上記のコードを実行した結果が下図です。

罫線関連の操作結果

赤と緑の罫線が引かれているのがわかりますね。
こんな感じで罫線を引いたり、太さや色を変えることができます。

今回は以上になります。次回はこれまで説明した内容で表を作成するマクロを作っていきたいと思います。
これまでより実用的な話になると思いますので、興味があれば読んでいただけるとありがたいです。

では、ありがとうございました。

作者情報

小説と音楽をこよなく愛する本の虫。一週間本を読んでいないと死にそうになる。最近行った大きな本屋で買った日本神話に出てくる「ヒルコ」についての本にハマって日本神話の関連書を読み漁っている。