【问题标题】:VBA why do I have blank rows after appending tables?VBA 为什么在附加表格后有空行?
【发布时间】:2023-02-19 23:53:16
【问题描述】:

VBA 新手在这里。

本质上,我正在收集每周数据的每周合规记录。 我的主要问题是我有一个动态的查询表,并且在好一周它是空的。 我希望能够提取此表的内容并将它们粘贴到包含年初至今数据的静态表下方的第一个空行。

此步骤很容易手动完成,但我希望实现自动化,以便将此报告交给我不太懂技术的团队成员。

这个问题:How to copy and paste two separate tables to the end of another table in VBA? 提供了我目前使用的大部分内容。我已经交换了一些与我的工作表和范围相关的值和声明,但在大多数情况下,它是使用列出的“目的地:=”解决方案进行复制/粘贴的

在大多数情况下,这个块做的正是我所追求的:

(我已经注释掉了 GCC 的第二个范围,但打算在这个范围解决后使用它。)

Sub Inv_Copy_Paste()
    Dim TC As Worksheet
    'Dim Chart As Worksheet
    Dim lr2 As Long

    Set TC = Worksheets("TC Data Dump")
    'Set Chart = Worksheets("Inventory for Charts")
    lr2 = TC.Cells(Rows.Count, 1).End(xlUp).Row

    With TC
        .Range("O2", ("W2" & .Range("O" & Rows.Count).End(xlUp).Row)).Copy Destination:=TC.Cells(Rows.Count, 1).End(xlUp).Offset(1)
        '.Range("K2", ("S2" & .Range("K" & Rows.Count).End(xlUp).Row)).Copy Destination:=Chart.Range("A" & lr2 + 1)
    End With
End Sub


我遇到的一个例外是,一旦代码复制填充的数据,它就会在数据下方添加一些空行:

20 Blank Rows

这是我在已经存在的代码中忽略的东西吗? 我承认我仅仅了解代码在 With TC 部分中的作用,因此将不胜感激任何其他上下文。

奖金问题: 尝试复制时是否需要单独的子/工作表其他动态查询表到第二个静态表?

【问题讨论】:

    标签: excel vba append


    【解决方案1】:

    首先,行计数是计算第一列中的行数。 -lr2 = TC.Cells(Rows.Count, 1).End(xlUp).Row 这里。 而不是计算您要复制的表中的行数。 如果你把这一行的数字1改成你要复制的列。我认为它的“O”是 15。

    那么恐怕您必须为第二个表重新定义 lr2 或为其创建另一个变量。 lr3 = TC.Cells(Rows.Count, 11).End(xlUp).Row '11 为第 k 列

    请让我知道这可不可以帮你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-14
      • 2023-04-04
      • 2022-01-23
      • 2020-12-08
      • 2015-07-26
      • 1970-01-01
      • 2019-03-20
      • 2010-12-07
      相关资源
      最近更新 更多