Excel 针对名称取自单元格值的表
我试图根据单元格A2中的表名添加到特定的表中。 我不确定我是否使用了正确的术语进行搜索,但这是我目前没有的,我显然得到了一个不匹配错误:Excel 针对名称取自单元格值的表,excel,vba,Excel,Vba,我试图根据单元格A2中的表名添加到特定的表中。 我不确定我是否使用了正确的术语进行搜索,但这是我目前没有的,我显然得到了一个不匹配错误: Sub addToExistingTable() Dim tblname As ListObject Dim nNewRow As ListRow tblname = Range("A2").Value Sheets("sheet1").ListObjects(tblname).Range.Select Set nN
Sub addToExistingTable()
Dim tblname As ListObject
Dim nNewRow As ListRow
tblname = Range("A2").Value
Sheets("sheet1").ListObjects(tblname).Range.Select
Set nNewRow = Selection.ListObject.ListRows.Add(AlwaysInsert:=True)
nNewRow.Range.Cells(1, 1).Value = Range("A1").Value
End Sub
还有其他人有这个问题吗?你是如何解决的 在
范围(“A2”)
所在的工作表和表格所在的工作表之间存在明显的歧义。但是,进一步阅读代码似乎表明,一旦选择了表,您就要将范围(“A1”)
(同样没有指定父工作表,因此必须与刚才选择的表位于同一工作表上)中的值添加到表上的新行中,因此范围(“A1:A2”)
几乎肯定在表1上(与表相同的工作表)
有关摆脱依靠选择和激活来实现目标的更多方法,请参阅。谢谢。我已经将上面的代码从我的实际代码中散列到一起,它确实指定了工作表,因为我将信息从一个工作表复制到另一个工作表。您的代码在我的测试中使用了字符串,但不确定为什么在我尝试时它不起作用。(还感谢您提醒不要使用select,我没有理由这么做。我已经多次看到该链接。)
Sub addToExistingTable()
Dim tblname As String
Dim nNewRow As ListRow
With Worksheets("Sheet1")
tblname = .Range("A2").Value
With .ListObjects(tblname)
Set nNewRow = .ListRows.Add(AlwaysInsert:=True)
nNewRow.Range.Cells(1, 1).Value = .Range("A1").Value
End With
End With
End Sub