[英]VBA dynamic cell range resize
我已經編寫了以下代碼,並且想要格式化“ 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會更改。
使用.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
不存在,則會遇到錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.