根据选择引用其他单元格 - 合并单元格

Referencing other cells based on selection - merged cells

我在引用 sheet 中的其他单元格时遇到问题。我有一个 VBA,它从枢轴 table 中创建 tables 并将它们保存在不同的 sheets 上。 table示例:

任何名称的行数都可以更改,因此总行位置也可以更改。我需要加粗整个小计和总行 (在这种情况下,它将是 B9:G9、B12:G12、B14:G14、A15:G15)所以我尝试了这个:

           If Right(cell.Value, 5) Like "Total" Then
                  With cell
                  .HorizontalAlignment = xlLeft
                  .Font.Bold = True
                    End With
                    End If
                Next cell

这自然只会加粗其中包含 'Total' 文本的一个单元格。问题是引用我想加粗的行中的其他单元格——合并的单元格把它搞砸了。当我尝试这个时:

cell.EntireRow.Font.Bold = True

整个项目变得大胆 (A5:G14)。我也尝试了 offset 函数,但是 offset(0,1) 将我发送到单元格 C5。

请问您知道如何将总计行和小计行加粗吗?

谢谢, B.

你可以这样做:

Sub Tester()
    Dim ws As Worksheet, c As Range
    
    Set ws = ActiveSheet
    For Each c In ActiveSheet.UsedRange.Cells
        If c.Value Like "*Total" Then
            'from cell with "*Total" to last column
            With ws.Range(c, ws.Cells(c.Row, "G"))
                .HorizontalAlignment = xlLeft
                .Font.Bold = True
            End With
        End If
    Next c
End Sub