首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListObject :写入整个Excel列

ListObject :写入整个Excel列
EN

Stack Overflow用户
提问于 2019-02-22 22:00:05
回答 1查看 46关注 0票数 1

如何一次简单地将数组中的值写入整个ListObject列(仅限数据行,不包括标题)?我找到了一个解决方案,但我不认为它是漂亮的:

代码语言:javascript
复制
' needs: ActiveSheet with ListObject "Tabelle1",
' with second column heading "Spalte2" and 4 data rows
Sub WriteLoColumnTest()
    Dim lo As ListObject
    Set lo = ActiveSheet.ListObjects("Tabelle1")

    Dim va(1 To 4, 1 To 1) As Variant
    va(1, 1) = "a"
    va(2, 1) = "b"
    va(3, 1) = "c"
    va(4, 1) = "d"

    ' here it comes:
    lo.ListColumns("Spalte2") _
        .Range _
        .Resize(lo.ListRows.Count) _
        .Offset(1) _
        .Value2 = va
End Sub

我需要.ListColumns.Range来获取范围,需要.Resize.Offset来跳过标题行。有没有更简单的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 22:23:25

如果你只是在寻找一种更简单的方法,你可以使用下面的方法来实现同样的效果

代码语言:javascript
复制
Sub WriteLoColumnTest()
    Dim lo As ListObject: Set lo = ActiveSheet.ListObjects("Tabelle1")
    Dim va As Variant

    va = Array("a", "b", "c", "d")
    lo.ListColumns("Spalte2").DataBodyRange.Value2 = Application.Transpose(va)
End Sub

为了进一步阅读,您可能希望熟悉listobject的不同部分

https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54828734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档