Italicプロパティ
Excelでセルの文字列を斜体にするにはホームタブ→フォント の「I」をクリックします。もう一度クリックすると斜体ではなくなります。
これをVBAで行うにはItalicプロパティを利用します。
構文
1 |
Fontオブジェクト.Italicプロパティ |
親オブジェクトとしてFontオブジェクトを指定します。
取得する値はBoolean型の変数で、TrueかFalseが返却されます。Trueの場合は斜体で、Falseの場合は斜体ではありません。
設定する場合は取得のときと同様で、斜体を設定する場合はTrue、解除する場合はFalseを設定します。
サンプルコード
以下は指定セル範囲の文字列の斜体状態の取得と、斜体の設定を行うサンプルコードです。
1 2 3 4 5 6 7 8 9 |
Sub ItalicTest() Dim b As Boolean '// 斜体状態を取得 b = ActiveCell.Font.Italic '// 斜体に設定 ActiveCell.Font.Italic = True End Sub |
指定セル範囲の斜体の設定と解除を切り替える関数
以下の関数は指定セル範囲の斜体のTrueとFalseを切り替えるマクロです。
実行するたびに切り替わります。
切替自体は2行目のように否定演算子のNotを使えば1行で書くことが出来ます。
2行目で行っていることは4行目以降のコメント部分の書き換えです。
斜体が設定されていれば解除し、解除されていれば斜体にする、という処理になります。
1 2 3 4 5 6 7 8 9 |
Sub ChangeItalic(r As Range) r.Font.Italic = Not r.Font.Italic ' If (r.Font.Italic = True) Then ' r.Font.Italic = False ' Else ' r.Font.Italic = True ' End If End Sub |
使い方
使い方は上の関数の引数にセル範囲を指定するだけですね。
1 2 3 4 5 6 |
Sub ChangeItalicTest() '// A1セルの斜体状態を切り替える Call ChangeItalic(Range("A1")) '// アクティブセルの斜体状態を切り替える Call ChangeItalic(ActiveCell) End Sub |