使用 "Subtotal" 格式化单元格
Format cells with "Subtotal"
我有一个 table,其中包含基于 excel 菜单(数据 -> 小计)创建的小计。现在我想将单元格涂成灰色,并使表示小计的线条加粗。 vba 代码可以吗?
A 列显示具有以下形式的多个单元格:总计代码“KKK Total”。
谢谢
您想将哪些单元格涂成灰色?一切?然后只需 select 一切 (cntrl+a) 并使用填充单元格就更容易了。您也可以使用宏录制器录制它。
如果要将包含“小计”的单元格设为粗体,请使用:
Sub bold()
Dim Rng As Range
Application.ReplaceFormat.Font.FontStyle = "Bold"
With ThisWorkbook.Sheets("Sheet1")
Set Rng = .Range("A:A")
Rng.Cells.Replace What:="Subtotal", Lookat:=xlWhole, Replacement:="Subtotal",
SearchFormat:=False, ReplaceFormat:=True
End With
End Sub
范围的颜色行
- 假设数据'nicely'从单元格
A1
开始,有一行headers。
Option Explicit
Sub ColorLines()
Application.ScreenUpdating = False
Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
If ws.FilterMode Then ws.ShowAllData
Dim rg As Range: Set rg = ws.Range("A1").CurrentRegion
Dim drg As Range: Set drg = rg.Resize(rg.Rows.Count - 1).Offset(1)
rg.AutoFilter 1, "*Total" ' ends with or e.g. "*Total*" contains
Dim vrg As Range
On Error Resume Next
Set vrg = drg.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
ws.AutoFilterMode = False
If Not vrg Is Nothing Then vrg.Interior.Color = 13553360
Application.ScreenUpdating = True
MsgBox "Subtotals colored.", vbInformation
End Sub
我有一个 table,其中包含基于 excel 菜单(数据 -> 小计)创建的小计。现在我想将单元格涂成灰色,并使表示小计的线条加粗。 vba 代码可以吗? A 列显示具有以下形式的多个单元格:总计代码“KKK Total”。
谢谢
您想将哪些单元格涂成灰色?一切?然后只需 select 一切 (cntrl+a) 并使用填充单元格就更容易了。您也可以使用宏录制器录制它。
如果要将包含“小计”的单元格设为粗体,请使用:
Sub bold()
Dim Rng As Range
Application.ReplaceFormat.Font.FontStyle = "Bold"
With ThisWorkbook.Sheets("Sheet1")
Set Rng = .Range("A:A")
Rng.Cells.Replace What:="Subtotal", Lookat:=xlWhole, Replacement:="Subtotal",
SearchFormat:=False, ReplaceFormat:=True
End With
End Sub
范围的颜色行
- 假设数据'nicely'从单元格
A1
开始,有一行headers。
Option Explicit
Sub ColorLines()
Application.ScreenUpdating = False
Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
If ws.FilterMode Then ws.ShowAllData
Dim rg As Range: Set rg = ws.Range("A1").CurrentRegion
Dim drg As Range: Set drg = rg.Resize(rg.Rows.Count - 1).Offset(1)
rg.AutoFilter 1, "*Total" ' ends with or e.g. "*Total*" contains
Dim vrg As Range
On Error Resume Next
Set vrg = drg.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
ws.AutoFilterMode = False
If Not vrg Is Nothing Then vrg.Interior.Color = 13553360
Application.ScreenUpdating = True
MsgBox "Subtotals colored.", vbInformation
End Sub