gpt4 book ai didi

vba - 如何使用名称和列引用循环 Excel 2010 表?

转载 作者:行者123 更新时间:2023-12-01 17:29:44 25 4
gpt4 key购买 nike

自 Excel 2010 以来,我在 Excel 中使用了大量表格。例如,我有一个表“tabWorkers”,包含 3 列:“ID”、“名字”、“姓氏”。

我已经发现我可以使用 [] 引用 VBA 中的表格。

例如:

Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns(2).Value)
Next

这会给我每一行的名字,效果很好。但我想通过使用它的列名称使其更加动态,如下所示:

Dim row As Range
For Each row In [tabWorkers].Rows
MsgBox (row.Columns("Firstname").Value)
Next

当然,我可以进行某种查找,将列索引“2”绑定(bind)到像 FirstnameIndex 这样的 var,但我想要正确的语法。我确信这是可能的,但只是没有真正记录(例如 [tabWorkers].Rows)

最佳答案

我不太熟悉引用表格的速记方法。如果您没有得到答案,您可能会发现这个使用 ListOject 模型的普通方法很有用:

Sub ListTableColumnMembers()
Dim lo As Excel.ListObject
Dim ws As Excel.Worksheet
Dim lr As Excel.ListRow

Set ws = ThisWorkbook.Worksheets(2)
Set lo = ws.ListObjects("tabWorkers")

For Each lr In lo.ListRows
Debug.Print Intersect(lr.Range, lo.ListColumns("FirstName").Range).Value
Next lr
End Sub

关于vba - 如何使用名称和列引用循环 Excel 2010 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com