簡體   English   中英

VBA動態單元格范圍調整大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM