[英]Short-cut for selecting excel ready-made cell formatting. NOT formatting to table.
[英]VBA for Table Formatting.
我有sheet1,sheet2,sheet3,sheet4。
在这4张工作表中,工作表1和工作表2在列表中有数据。 sheet3和sheet4具有相同的数据透视表。
我想要一个VBA,以这种方式,在我的工作簿中,如果找到带有列表的工作表,则应将其格式化为表格。 该表应仅适用于它具有值的单元格。
我使用了记录宏来获取代码,但是我对如何为所有工作表实现它感到惊讶。 代码,来自一张纸的记录宏:
sub macro()
Cells.Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$1:$1048576"), , xlYes).Name = _
"Table2"
Cells.Select
ActiveSheet.ListObjects("Table2").TableStyle = "TableStyleLight9"
End Sub
我认为您的意思类似于以下代码:
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
如果您的问题是Listobject的更改范围,请查看以下代码。
Sub macro()
Dim Ws As Worksheet
Dim LstObj As ListObject
Dim rngDB As Range, n As Integer
For Each Ws In Worksheets
With Ws
Set rngDB = .Range("a1").CurrentRegion
For Each LstObj In Ws.ListObjects
LstObj.Unlist
Next
If WorksheetFunction.CountA(rngDB) > 0 Then
n = n + 1
Set LstObj = .ListObjects.Add(xlSrcRange, rngDB, , xlYes)
With LstObj
.Name = "Table" & n
.TableStyle = "TableStyleLight9"
End With
End If
End With
Next Ws
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.