首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA基于唯一列数据创建新WB并将新WB范围转换为表

VBA基于唯一列数据创建新WB并将新WB范围转换为表
EN

Stack Overflow用户
提问于 2022-02-04 16:36:56
回答 2查看 37关注 0票数 1

我张贴了一个类似的问题,在过去,但另一个问题已经提出了自己。

Original Post在这里发现的。

现有代码的工作原理:它为每个唯一值创建一个新的工作簿,并在A列中为其副本创建一个包含所有相关行数据的新工作簿。

这段代码非常适合我需要它做的事情,除非我试图在表范围内使用它。经过一些研究后,我意识到我的所有引用都是不正确的,不能在一个表上这样做。我正在研究如何从长远的角度解决我的问题。

作为一种短期的选择,我一直在研究如何将每个新的工作簿范围转换为一个表,但无法找到如何将其插入到我现有的代码中。下面的示例是我认为应该用到的地方,但是,当我看到我在研究中遇到的其他示例时,我无法理解如何添加命令。

代码语言:javascript
复制
For Each ky In dic.keys
    ThisWorkbook.Sheets("DEMURRAGE INSTRUCTIONS").Copy
    Set wbN = ActiveWorkbook
    xSht.Range(xTitle).AutoFilter xCName, ky
    Set xNSht = Worksheets.Add(, wbN.Sheets(wbN.Sheets.Count))
    xSht.AutoFilter.Range.EntireRow.Copy xNSht.Range("A1")
    xNSht.Name = xNSht.Range("T2").Value
    ActiveWindow.DisplayGridlines = False
    xNSht.Columns.AutoFit
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-04 22:47:08

如果您有一个以A1开头的标题的连续范围,那么应该可以将其转换为ListObject/Table:

代码语言:javascript
复制
With xNSht.ListObjects.Add(xlSrcRange, xNSht.Range("A1").CurrentRegion, , xlYes)
   .Name = "Table1"
End with
票数 1
EN

Stack Overflow用户

发布于 2022-02-05 04:22:08

将范围转换为表(ListObject)

  • 这将对工作表和表使用相同的名称。如果需要复制整个行,则
  • 将无法工作。

代码语言:javascript
复制
For Each ky In dic.keys
    ThisWorkbook.Sheets("DEMURRAGE INSTRUCTIONS").Copy
    Set wbN = ActiveWorkbook
    xSht.Range(xTitle).AutoFilter xCName, ky
    ' You have just copied a single worksheet to wbN hence:
    Set xNSht = Worksheets.Add(After:=wbN.Sheets(1))
    ' Why entire row? No need, unless there is data to the right!?
    With xSht.AutoFilter.Range
        .Copy xNSht.Range("A1")
        With xNSht.ListObjects.Add(xlSrcRange, _
               xNSht.Range("A1").Resize(.Rows.Count, .Columns.Count), , xlYes)
            .Name = xNSht.Range("T2").Value ' or some other table name?
        End With
    End With
    xNSht.Name = xNSht.Range("T2").Value
    ActiveWindow.DisplayGridlines = False
    xNSht.Columns.AutoFit
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70989839

复制
相关文章

相似问题

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