【问题标题】:Excel VBA - Creating a Table In a Specific Non-Default(A1) LocationExcel VBA - 在特定的非默认(A1)位置创建表格
【发布时间】:2017-06-16 02:10:49
【问题描述】:

如果你运行以下代码:

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

人们可能会想,这会将表格放在“A10:C13”的范围内。它没有,而是将一个表格插入到 A1 中,一列一行(不包括标题):

这在这个函数的Official Documentation中有明确规定:

如果 SourceType 设置为 xlSrcRange.

如何将表格插入任何其他单元格区域?

【问题讨论】:

    标签: vba excel excel-2016 listobject


    【解决方案1】:

    您将工作表范围定义添加到错误的参数中。

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

    有关该方法的完整说明,请参阅 ListObjects.Add Method (Excel)

    【讨论】:

      【解决方案2】:

      使用this page 提供的文档,我模拟了用户添加表格可能会做什么:

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

      似乎添加 select 语句会将表格放置到正确的位置。

      【讨论】:

      • 在 VBA 中.Select 真正有用的极少数情况之一!
      • 或许有用,但不是绝对必要的。
      猜你喜欢
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多