我已经编写了以下代码,并且我想格式化Grand Total
行。我想使之动态,因为总计行的单元格每个月都会发生变化
Sub ReportData()
Application.ScreenUpdating = False
Dim Report As Worksheet
Set Report = WBNew.Worksheets("Report")
Report.UsedRange.Copy
With Sheets("Report").UsedRange
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteValues
.Columns("A:Q").EntireColumn.Delete
Set Rng = .FIND(What:="Grand Total", LookAt:=xlWhole, LookIn:=xlValues)
Rng.Resize(, 18).Interior.ColorIndex = 20
End With
Application.ScreenUpdating = True
End Sub
例如,如果我在单元格A20中找到“总计”,那么我想扩展到最后使用的单元格,例如X20。但这是我的问题,并不是X20总是在变化。
答案 0 :(得分:1)
使用.Cells(Rng.Row, .Columns.Count).End(xlToLeft)
在找到Grand Total
的行中查找最后使用的单元格,并使用它为范围着色。
Set Rng = .FIND(What:="Grand Total", LookAt:=xlWhole, LookIn:=xlValues)
If Not Rng Is Nothing Then
With Sheets("Report")
.Range(Rng, .Cells(Rng.Row, .Columns.Count).End(xlToLeft)).Interior.ColorIndex = 20
End With
Else
MsgBox "Grand Total was not found."
End If
请注意,您需要检查If Not Rng Is Nothing Then
,否则,如果Grand Total
不存在,则会出错。