我需要一种方法来编程调整基于ActiveCell的excel表中的整行,而不管它在哪个表或表的位置。我正在使用
ActiveSheet.ListObjects(1).ListRows(ActiveCell.Row - 1).Range.Select
Selection.Style = "Good"
但是在将表格向下移动五行时,它现在将动作从ActiveCell向下再施加五行。
我尝试过用某种- 1
替换- .HeaderRowRange.Row
的方法但是当我激活宏时没有任何反应。
答案 0 :(得分:2)
如果我正确理解了问题,请尝试使用以下代码并报告:
ActiveSheet.ListObjects(1).ListRows(ActiveCell.Row - ActiveSheet.ListObjects(1).HeaderRowRange.Row).Range.Select
答案 1 :(得分:2)
您可以利用ActiveCell.ListObject
属性。这使得它更灵活,例如,如果工作表中有两个表:
Sub FormatActiveTableRow()
Dim lo As Excel.ListObject
Set lo = ActiveCell.ListObject
If Not lo Is Nothing Then
Intersect(ActiveCell.EntireRow, lo.Range).Style = "Good"
End If
End Sub