根据选择引用其他单元格 - 合并单元格
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
我在引用 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