我有sheet1,sheet2,sheet3,sheet4。
在4张表中,表1和表2列出了数据。并且sheet3和sheet 4具有相同的Pivot表。
我希望有一个VBA,以这种方式,在我的工作簿中,如果它找到带有列表的表格,那么它应该将其格式化为表格。该表应仅适用于具有值的单元格。
我使用了记录宏来获取代码,但我很震惊我应该如何为我的所有表格实现它。 代码,来自一张纸的记录宏:
sub macro()
Cells.Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$1:$1048576"), , xlYes).Name = _
"Table2"
Cells.Select
ActiveSheet.ListObjects("Table2").TableStyle = "TableStyleLight9"
End Sub
答案 0 :(得分:2)
我认为你的意思类似于下面的代码:
Option Explicit
Sub macro()
Dim ws As Worksheet
Dim ListObj As ListObject
For Each ws In ThisWorkbook.Worksheets
With ws
For Each ListObj In .ListObjects
ListObj.TableStyle = "TableStyleLight9"
Next ListObj
End With
Next ws
End Sub
答案 1 :(得分:0)
如果您的问题是更改范围到Listobject,请查看以下代码。
=IFERROR(AGGREGATE(14;6;A2:K2/(B2:L2="P");1),0)+SUMIF(B2:L2;"S";A2:K2)