Excel VBA 将值从一张表移动到另一张表

Posted

技术标签:

【中文标题】Excel VBA 将值从一张表移动到另一张表【英文标题】:Excel VBA move values from one sheet to another 【发布时间】:2019-04-21 19:27:07 【问题描述】:

我需要一个建议。我有大约 50 个表,它们一个接一个地粘贴在一个 Excel 工作表中,我需要将数据从特定单元格复制并粘贴到另一个工作簿到另一个单元格。

现在我正在使用 VBA 来实现这一点: 将单元格中的值分配给“数字”number = data.Cells(500, "E").Value,然后将“数字”分配给其他单元格result.Cells(3, "D") = number。 我需要对每个表都这样做,现在我只使用行号和列字母来确定值。这是我的表格的示例:

还有我的 VBA 代码:

number_e = data.Cells(80, "E").Value
result.Cells(8, "D") = number_e

number_j = data.Cells(80, "L").Value
result.Cells(9, "D") = number_j

number_n = data.Cells(80, "P").Value
result.Cells(10, "D") = number_n

number_e = data.Cells(500, "E").Value
result.Cells(3, "D") = number_e

number_j = data.Cells(500, "J").Value
result.Cells(4, "D") = number_j

number_n = data.Cells(500, "N").Value
result.Cells(5, "D") = number_n

<...>

number_e = data.Cells(4385, "E").Value
result.Cells(242, "D") = number_e

number_j = data.Cells(4385, "L").Value
result.Cells(243, "D") = number_j

number_n = data.Cells(4385, "P").Value
result.Cells(244, "D") = number_n

在某些表中,所需的值位于不同的列中。

我相信有更合理的方法可以做到这一点......而且我正在使用一个表中的一行值,但需要使用其他行中的更多值,我不想再次编写每个行号...

也许我应该将数据转换为表格并使用引用,但我不确定这是否有帮助。

感谢您的任何建议。

【问题讨论】:

请提供更多详细信息,以便有人可以帮助您。您选择要复制到另一个工作表的行、列和数据的理由是什么。还有为什么要将数据粘贴到第 8、9、10 行,然后再粘贴到 3、4、5 行;它似乎没有遵循逻辑流程。 【参考方案1】:
' Checking number of records

rCount = data.Cells(.Rows.Count, 1).Row

' Copying the data

for i=1 to rCount
    result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,5).Value
    result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,10).Value
    result.Cells(Cells(.Rows.Count,4).End(xlUp).row+1,4).value = data.cells(i,14).Value
next i

【讨论】:

以上是关于Excel VBA 将值从一张表移动到另一张表的主要内容,如果未能解决你的问题,请参考以下文章

将整行从一张excel表复制到另一张表的下一个空行

SQL TRIGGER 更新时从一张表到另一张表

如何把一个excel表中的公式粘贴到另一张表上?我用的2007版本的。

Vlookup 公式将一些数据从一张表提取到另一张表(谷歌电子表格)

Oracle中的多行插入查询(从一张表中选择多行并插入到另一张表中[重复]

如何将数据从一张表导入到另一张表 - SpringBoot JPA /MySQL