我在Excel中有一个表格,我添加了一行。然后我引用该行,并且能够使用数字在列中存储值。
Dim table As ListObject
Dim lastRow As Range
Set table = sheet.ListObjects.Item("TagTable")
table.ListRows.Add
Set lastRow = table.ListRows(table.ListRows.Count).Range
lastRow(1) = "Value for column 1"
lastRow(2) = "Value for 2"
问题在于它不是非常灵活。我宁愿解决列名。我疯狂地搜索,但我无法找到有关如何实现这一目标的任何信息。这甚至是可能的,还是我用这段代码做了些什么?
答案 0 :(得分:2)
ListObject
具有ListColumns
属性,可以按名称访问列。
使用它的一种方法是:
Sub Demo()
Dim ws As Worksheet
Dim table As ListObject
Dim lstrow As ListRow
Set ws = ActiveSheet ' Set to your required sheet
Set table = ws.ListObjects.Item("TagTable")
Set lstrow = table.ListRows.Add
lstrow.Range.Cells(1, table.ListColumns("NameOfColumn1").Index) = "Value for column 1"
lstrow.Range.Cells(1, table.ListColumns("NameOfColumn2").Index) = "Value for 2"
End Sub