« 為替の時系列データの取り込み(データ更新) | トップページ | 数式かどうか判定する »

2020年5月12日 (火)

セルが空白か判別して斜線を設定/塗りをグレイにする

表を作成していると
内容を記入する必要がない空白のセルが存在することもあります。

空白のままだと表全体が見難いので
斜線をつけたり,セルの塗りをグレイにしたります。

これをVBAで実行したいと思います。

空白かどうかの判定は単純に
セルの値が""に等しいかの比較でします。

次のコードは選択範囲内のセルが空白の場合に
セルの罫線に斜線を追加します。

コード実行前に範囲を選択しておいてください。

セルが空白か判別して斜線を設定するコード:

Sub macro20200512a()
'空白の場合,斜線を設定する
'範囲は選択しているセル

    Dim c As Range
   
    For Each c In Selection
        If c.Value = "" Then
            With c.Borders(xlDiagonalUp)
                .LineStyle = xlContinuous
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Weight = xlThin
            End With
        End If
    Next c

End Sub

実行結果(一例):
Vba20200512a

右下がりの斜線にしたい場合は,
「xlDiagonalUp」部分を「xlDiagonalDown」に変更してください。



次のコードは選択範囲のセルが空白の場合に
セルの塗りつぶしの色を灰色にします。

セルが空白か判別して塗りをグレイにするコード:

Sub macro20200512b()
'空白の場合,塗りを灰色にする
'範囲は選択しているセル

    Dim c As Range
   
    For Each c In Selection
        If c.Value = "" Then
            With c.Interior
                .Pattern = xlSolid
                .Color = RGB(150, 150, 150)
            End With
        End If
    Next c

End Sub

実行結果(一例):
Vba20200512b

グレイの濃さを変えたい場合は
RGB関数の引数の値を変更します。

グレイの場合は3つの引数に同じ値を指定します。
上限は250です。

上記マクロでは150を指定しています。
薄くしたい場合は引数150の値をより大きく,
濃くしたい場合は引数150の値をより小さくしてください。

使用Ver:Win10, Excel For Office365

|

« 為替の時系列データの取り込み(データ更新) | トップページ | 数式かどうか判定する »

コメント

この記事へのコメントは終了しました。