【发布时间】:2016-04-12 11:01:21
【问题描述】:
感谢您帮助我。我在网上找不到解决方案,所以这里是:P。我想知道如何将一系列值(在本例中为 C6:R371)粘贴到另一个相同大小的工作表中。我的问题是我只想将源工作表中的数据粘贴到目标工作表上空白的单元格中,而不是更改目标工作表上已经在 C6:R371 范围内的值。本质上,我有一系列需要 c&p 的单元格,但我希望宏只将范围内的值粘贴到目标范围的空白单元格上。非常感谢你
Range("C6:S371").Select
Selection.Copy
wbWest2.Activate
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("D9:S374")
For Each row In rng.Rows
For Each cell in row.Cells
If cell.value = 0 then selection.paste
Next cell
Next row
【问题讨论】:
-
目标范围左上角的单元格是什么?您已声明它们的大小相同,但不是目的地的实际单元格地址。
-
D1:S374的大小不与C6:S371的大小相同。请澄清。 -
好的。您想设置两个范围,而不仅仅是一个。因为它们在不同的工作表上,所以您想对它们进行限定,否则计算机如何知道每个范围在哪个工作表上?限定格式为
sheet.range。编辑:还考虑更好的变量名。srcRng比简单的rng更好。 -
你必须让 if 每次 b4 它复制另一个单元格时它在工作表之间来回移动,对吗?
-
哈哈,感谢您的帮助,先生(或女士!)感谢您的帮助,您让我学到了很多 :)
标签: excel vba range conditional-statements copy-paste