Excel VBA – 在特定的非默认(A1)位置创build表

如果您运行以下代码:

WorkSheet.ListObjects.add(SourceType:=xlSrcRange, Destination:=Range("A10:C13")) 

有人可能会想,这会把桌子放在“A10:C13”的范围内。 它不是,一个表是插入到A1与一列和一行(不包括标题):

在这里输入图像说明

这个function在官方文档中有明确的说明:

如果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) 

看来joinselect语句会把表放到正确的位置。