如果您运行以下代码:
WorkSheet.ListObjects.add(SourceType:=xlSrcRange, Destination:=Range("A10:C13"))
有人可能会想,这会将表格放在“A10:C13”的范围内。它没有,而是将一个表插入到 A1 中,一列一行(不包括标题):
这个函数的官方文档中有明确规定:
如果 SourceType 设置为 xlSrcRange,则忽略 Destination 参数。
如何将表格插入任何其他范围的单元格?
如果您运行以下代码:
WorkSheet.ListObjects.add(SourceType:=xlSrcRange, Destination:=Range("A10:C13"))
有人可能会想,这会将表格放在“A10:C13”的范围内。它没有,而是将一个表插入到 A1 中,一列一行(不包括标题):
这个函数的官方文档中有明确规定:
如果 SourceType 设置为 xlSrcRange,则忽略 Destination 参数。
如何将表格插入任何其他范围的单元格?
您将工作表范围定义添加到错误的参数中。
WorkSheet.ListObjects.add SourceType:=xlSrcRange, Source:=WorkSheet.Range("A10:C13")
有关该方法的完整描述,请参阅ListObjects.Add 方法 (Excel)。
使用此页面提供的文档,我模拟了用户添加表格可能会做的事情:
Range("A10:C13").Select
WorkSheet.ListObjects.add(SourceType:=xlSrcRange)
似乎添加 select 语句会将表放置到正确的位置。