【发布时间】:2016-05-30 15:26:07
【问题描述】:
此宏的目的是将一个单元格值(从一个长列表中)复制到位于不同工作表中的另一个单元格。
这是我的代码:
Sub journalben()
Set rawben = Sheets("BEN")
Set finaljnl = Sheets("JNL_BEN")
Set Rng = Range("G2:G1048576")
For Each cell In Rng
'test if cell is empty
If cell.Value <> "" Then
finaljnl.Range("L4").Value = rawben.Range("G5").Value
finaljnl.Range("K4").Value = rawben.Range("L5").Value
End If
Next
End Sub
借助图片,我将解释我想要实现的目标:
- 在 Sheet1(“BEN”)中,G 和 L 列中有一个列表。
- 我将从 Sheet1 复制单元格 G5 并将其粘贴到 Sheet2 ("JNL_BEN") Range K4 中。
- 接下来我将从 Sheet1 复制单元格 L5 并将其粘贴到 Sheet2 ("JNL_BEN") Range L4 中。
- 复制下一行,和第2行和第3行一样,但这次会调整下面的1行。
- 复制整个列表。这意味着到底部。该列表是动态的,有时会包含 5,000 行。
由于某些原因,复制整个列不是此宏的选项,因为必须将 sheet1 中的单元格从左到右(或水平)粘贴或放置在 Sheet2 中。
我希望你能抽出一些时间来帮助我。我的代码不起作用,我猜 FOR EACH 的实现不正确。我不确定 FOR EACH 是否是最好的代码。
感谢任何人对此的帮助。非常感谢!愿原力与你同在。
【问题讨论】: