使用 "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