【发布时间】:2018-01-13 20:08:00
【问题描述】:
代码有问题。
excel 工作簿有 4 张。工作簿定期更新。
-Sheet1 是我希望将数据粘贴到的位置。
-Sheets2-4 有我想要获取的数据。
-“A2:B2”范围是数据在 Sheets2-4 中的位置。数据需要粘贴在 Sheet1 中的相同范围内。未粘贴任何数据。
以下代码导致 A2:B2 仅在 Sheet2-4 中选择,并且在 Sheet1 中选择并复制了相同的范围。
任何帮助将不胜感激。
Sub test()
Worksheets.Select
Range("A2:B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Sheet1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
【问题讨论】:
-
您是要覆盖工作表 1 中的目标范围还是要粘贴到下一个可用行?您至少需要一个循环来循环浏览第 2-4 页。
-
不会发生覆盖。包含数据的文件每周更新一次。每周我都会有一个新的文件来工作这样的目标。我希望得到一个可以工作的命令,创建 .bas 以在使用时导入以获取更新的数据。
-
但您说您将工作表 2-4 中的相同范围复制到工作表 1 中的相同范围内。如果它们都是相同的范围,则必须进行覆盖。或者是否存在所有这些数据都适合的定义范围?如果是在哪里?将范围从 2-4 收集在一起并粘贴到范围 A2 表 1?
-
Sheet1 不会保存到文档中,并且不在更新的工作簿上。我只使用 Sheet1 收集数据以发送到另一个程序。假设今天更新了工作簿。我的目标是打开工作簿,创建 Sheet1,然后导入 .bas 文件以提取数据。下周来了,更新发生了,我今天所做的不会出现在下周更新的工作簿上。