【ExcelVBA】オートフィルタで文字と背景に色設定
テスト対象のテーブル
テスト対象テーブルを使いたい場合は、↓テーブルをコピーしてエクセルの A1 に貼り付けてください。
| 商品名 | 個数 |
|---|---|
| りんご | 4 |
| みかん | 3 |
| めろん | 5 |
| いちご | 2 |
| みかん | 1 |
オートフィルタで文字と背景に色設定
見出し行は色設定しない
Sub sample()
Dim Target(1) As String
Target(0) = "みかん"
Target(1) = "りんご"
ThisWorkbook.ActiveSheet.Range("A1").AutoFilter _
Field:=1, _
Criteria1:=Target, _
Operator:=xlFilterValues
With ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion 'CurrentRegion
With .Offset(1, 0).Resize(Range("A1").CurrentRegion.Rows.Count - 1) 'CurrentRegion見出し行除外
.Font.Color = RGB(0, 0, 255) '文字色
.Interior.Color = RGB(225, 255, 255) '背景色
End With
End With
End Sub
※14行目は、offsetプロパティとresizeプロパティを併用して見出し行を除外しています。結果

結果(フィルタ解除した状態)

実行前のテーブル

見出し行も色設定する(需要なし)
Sub sample()
Dim Target(1) As String
Target(0) = "みかん"
Target(1) = "りんご"
ThisWorkbook.ActiveSheet.Range("A1").AutoFilter _
Field:=1, _
Criteria1:=Target, _
Operator:=xlFilterValues
With ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion 'CurrentRegion
.Font.Color = RGB(0, 0, 255) '文字色
.Interior.Color = RGB(225, 255, 255) '背景色
End With
End Sub
結果

結果(フィルタ解除した状態)

実行前のテーブル

文字色や背景色のクリア(書式のクリア)
Sub sample()
ThisWorkbook.ActiveSheet.Cells.ClearFormats
End Sub
※オートフィルタの設定も同時に解除されます。結果

実行前のテーブル





ディスカッション
コメント一覧
まだ、コメントがありません