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