复制一行中的特定单元格并粘贴到另一个工作表上的不同单元格中

Copy specific cells from one row and paste into different cells on another worksheet

我在这个网站上看到了很多类似的问题,但没有一个有答案。不知道为什么。可能它太简单了。虽然不适合我。我对 VBA 一点都不擅长,可能再过几年都不需要再挑剔了。希望有人愿意花时间和帮助。

我的工作簿中有两张纸。 Sht1 包含按行组织的数据。每天填充行,到项目结束时,总行数将达到 300 到 400。 Sht2 表示文档表单。该表单上的大多数单元格都包含静态信息,这些信息不会从一份报告更改为另一份报告。除了一些必须从 Sht1 填充的动态单元格。我打印表格并提交硬拷贝。如果硬拷贝丢失或数据因某种原因更改,我可能会回来再打印一些报告。重点很明确——我不想保留和管理 400 个 Word 文件。就是痛。

我想要的是将一个代码分配给一个命令按钮,该按钮将调用一个输入框。我输入行 ID(我想这些行应该从 1 到 N 依次编号)。然后 VBA 从该行的某些单元格中获取数据,假设 Sht1 上的 C5(当 ID = 4 时)、E5 和 H5,并将它们复制到 Sht2 上的单元格 B5、D5 和 D7。

非常感谢您抽出宝贵时间阅读本文,如果您能提供帮助,我们将不胜感激。 谢谢你。

下面是一些非常简单的代码,用于将数据从 Sheet1 上的一个单元格复制到 Sheet2 上的另一个单元格。

Sub Macro1()

    Dim iRow As Integer

    iRow = InputBox("Which row?")

    Worksheets("Sht2").Cells(5, 2).Value = Worksheets("Sht1").Cells(iRow, 3).Value
    Worksheets("Sht2").Cells(5, 4).Value = Worksheets("Sht1").Cells(iRow, 5).Value
    Worksheets("Sht2").Cells(7, 4).Value = Worksheets("Sht1").Cells(iRow, 7).Value

End Sub

这从 Sheet1 上指定的行、C、E 和 H 列中获取值。 它将这些值分别复制到 Sheet2 的单元格 B5、D5、D7 中。请注意 Cells(row, col) 的参数顺序,这与您习惯的 Excel 单元格引用相反。换句话说,请记住 Cells(1, 3) 实际上是 C1。

这已经是我所能做到的最简单的了,但它应该能为您指明正确的方向。