excel - 尝试遍历工作表并格式化其中的特定表格
问题描述
我不想为每个特定的工作表编码以格式化特定的表格,而是想创建一个循环,仅在不同的工作表上格式化列表中的表格。
当前代码:(在代码前面定义和设置的sh和wbTemplate)
Dim AllTableNames As String
Dim TableNames As Variant
Dim i As Long
AllTableNames = "Table_Dormant_Stock,Table_Overstock,Table_Negative_Stock,Table_Outdated_Stock_Counts,Table_Waste_Returns"
TableNames = Split(AllTableNames, ",")
For Each sh In wbTemplate.Worksheets
For i = LBound(TableNames) To UBound(TableNames)
sh.ListObjects(TableNames(i)).DataBodyRange.Font.Size = 10
Next i
Next sh
我得到“运行时错误“9”:下标超出范围”。我知道它与第二个循环有关,我以前从未做过,所以不知道如何修复它。
解决方案
这是修复代码的一种方法:
For Each sh In wbTemplate.Worksheets
For i = LBound(TableNames) To UBound(TableNames)
For Each tbl In sh.ListObjects
If tbl.Name = TableNames(i) Then
tbl.DataBodyRange.Font.Size = 10
End If
Next tbl
Next i
Next sh
因此,我使用您的代码循环遍历数组中的每个工作表和每个表名 - 但不是在其上运行代码,而是检查工作表tbl
上的每个表()sh
,如果名称与您正在寻找的名称匹配,然后代码运行。
如果要刷新每个工作表上的任何和所有表,那么这很简单:
For Each sh In wbTemplate.Worksheets
For Each tbl In sh.ListObjects
tbl.DataBodyRange.Font.Size = 10
Next
Next sh
推荐阅读
- kubernetes - 在将容器日志写入日志文件之前,我们如何检查 Kubernetes 中的容器日志?
- merge - Snowflake MERGE如何保持时间顺序
- scripting - 使用 Photoshop 脚本自动混合图层
- javascript - 使用按钮更改屏幕
- openssl - 使用 .pem 文件和 .key 文件生成 .pfx 文件时,没有证书与私钥匹配
- angular - 如何将检查项目从primeng多选推送到本地数组
- django-templates - django-template-pagination 页码超出区域
- javascript - 如何在分支数量上划分预算,并且每个分支在 JavaScript 中以不同的方式划分?
- assembly - ARM 汇编中的偏移量是什么?它是如何工作的?
- html-table - 以编程方式关注元素会导致 VoiceOver 导航中断
我有一张表,我正试图通过 VoiceOver 使其可访问和导航。就其本身而言,该表似乎可以通过 VO 导航,并且似乎符合我发现的大多数可访问性指南。
表格是: