非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBA:罫線も文字色もフォントスタイルも一気にクリアする方法

   

Excel/VBAでよく使うのが「シートの初期化」です。

単に文字列をクリアにするだけのパターンと、セル背景色や罫線までもクリアにするケースもあります。

文字を消すだけならそれほどでもないのですが、背景色や罫線なんかを消したい場合、その都度「マクロの記録」を使っているんじゃないでしょうか。

今回はすべてのスタイルを消すコードを書き留めておきます。各パートにコメント記載していますが必要に応じて除外してください。

[ad#top-1]

ソースコード

Sub ClearRange(rng)
  Dim area As Range
  Set area = Range(rng)

  '文字消去
  area.ClearContents
  '文字色のクリア
  area.Font.ColorIndex = xlAutomatic
  area.Font.TintAndShade = 0
  area.Interior.Pattern = xlNone
  area.Interior.TintAndShade = 0
  area.Interior.PatternTintAndShade = 0
  '罫線のクリア
  area.Borders(xlDiagonalDown).LineStyle = xlNone
  area.Borders(xlDiagonalUp).LineStyle = xlNone
  area.Borders(xlEdgeLeft).LineStyle = xlNone
  area.Borders(xlEdgeTop).LineStyle = xlNone
  area.Borders(xlEdgeBottom).LineStyle = xlNone
  area.Borders(xlEdgeRight).LineStyle = xlNone
  area.Borders(xlInsideVertical).LineStyle = xlNone
  area.Borders(xlInsideHorizontal).LineStyle = xlNone
  '文字スタイルのクリア
  area.Font.Bold = False
  area.Font.Italic = False
  area.Font.Underline = xlUnderlineStyleNone
End Sub
 

 

上記のマクロをコピペしてもらって、次のようにクリアしたいセルの範囲を引数として渡すと、その範囲でクリアできます。以下はB3セル~E14セルの範囲をクリアにする例です。

Call ClearRange("B3:E14")
 

 

実行

上記プログラムを実行すると以下のようにすべてクリアとなります。

 

[ad#ad-1]

スポンサーリンク

 - Excel, VBA