簡體   English   中英

動態格式化為表格Excel VBA

[英]Formatting as a table dynamically Excel VBA

我想將工作表中的某個范圍格式化為Excel中的表格。 格式總是從第10行開始。為此,我編寫了以下代碼:

Set rng = Range(Range("B10"), Range("B10").End(xlUp).SpecialCells(xlLastCell))
Set table = Sheets("Results").ListObjects.Add(xlSrcRange, rng, , xlYes)
table.TableStyle = "TableStyleMedium13"

到目前為止,格式化是從第10行到工作表的末尾-甚至是空行。 但是,我希望僅在數據的最后一行之前對表格進行格式化,並且鑒於數據量會有所變化,因此可以動態地執行此操作。 我怎樣才能做到這一點?

下面的代碼將從B10到最后一行的所有單元格格式化,並在B列中提供數據(如果有空格,它還將在中間格式化空白行)。

Dim LastRow As Long

With Sheets("Results")
    ' find last row with data in Column B
    LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row

    ' set Rng from B10 untill last row with data in Column B
    Set Rng = Range("B10:B" & LastRow)
    Set Table = .ListObjects.Add(xlSrcRange, Rng, , xlYes)
    Table.TableStyle = "TableStyleMedium13"
End With
Range("B" & Rows.Count).End(xlUp)

這應該起作用-將僅標識最后填充的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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