excel - 有没有一种有效的方法将表头存储在 VBA 集合中?
问题描述
我正在尝试将我的每个表头值存储在Collection
. 我正在使用的代码就是这样做的,但似乎我Collection
正在复制项目。我相信这与我在Collection
. 我面临着一个
运行时错误 13
尝试在循环中检索Collection
项目时For Each
代码
Public Property Get TmProducts() As Collection
Set TmProducts = this.TmProducts
TmProducts.Add TmTable.ListObjects("Table1").HeaderRowRange.value
End Property
截屏
解决方案
这是因为您将标头值数组分配给集合中的第一项。因此,您需要按如下方式遍历数组中的每个项目...
Dim item As Variant
For Each item In TmProducts(1)
Debug.Print item
Next item
但是,由于您可能希望将每个标题值分配给集合中的单独项目,因此您需要按如下方式分配它们...
Dim currentCell As Range
For Each currentCell In TmTable.ListObjects("Table1").HeaderRowRange
TmProducts.Add currentCell.Value
Next currentCell
然后您可以按如下方式访问您收藏中的项目...
Dim item As Variant
For Each item In TmProducts
Debug.Print item
Next item
推荐阅读
- javascript - 在 Highcharts 上显示单个图表
- java - Java EE:EntityManager 是否在 DB 中获取方法更改状态
- powershell - 从 PowerShell 中提取事件创建时间 - Server 2003
- node.js - CentOS 上的 Angular 和 node.js nginx 部署
- python - 从数字列表中获取所有可能的产品
- java - 主类中使用的每个类都必须是静态的吗?
- c# - 使用 Freespire.xls 添加空白行导入 csv
- python - 如何在 Windows 中的 python 中终止进程之前保存对象?
- entity-framework - 将 RegEx 添加到 Linq 方法语法
- mongodb - db.createIndex() 和 db.createIndexes() 之间的哪种方法更适合在 MongoDB 中创建多个索引?