Excel VBA将范围复制/粘贴到另一工作表中的下一个可用单元格
我要做的是:对数组进行筛选,然后将筛选后的数据复制到其他工作簿上。然后将刚刚粘贴到同一工作簿中另一个工作表上的数据复制到现有数据之下 我的想法是:我在下面使用的代码是用来帮助我从一个工作簿复制粘贴到另一个工作簿的,效果非常好Excel VBA将范围复制/粘贴到另一工作表中的下一个可用单元格,excel,vba,copy,range,paste,Excel,Vba,Copy,Range,Paste,我要做的是:对数组进行筛选,然后将筛选后的数据复制到其他工作簿上。然后将刚刚粘贴到同一工作簿中另一个工作表上的数据复制到现有数据之下 我的想法是:我在下面使用的代码是用来帮助我从一个工作簿复制粘贴到另一个工作簿的,效果非常好 wb.Sheets("2014 Current Week").Range("C2:CC10000").Copy nwb.Sheets("2014 YTD").Range("C" & Rows.Count).End(xlUp).Offset(1, 0) 但是,如果
wb.Sheets("2014 Current Week").Range("C2:CC10000").Copy nwb.Sheets("2014 YTD").Range("C" & Rows.Count).End(xlUp).Offset(1, 0)
但是,如果我想在同一个工作簿中复制,它的工作方式似乎不一样。任何帮助都将不胜感激。谢谢
Dim wb as workbook
Dim strs As String
Dim str As String
Dim nwb as workbook
Set wb = ThisWorkbook
strs = wb.Sheets("Macros").Range("H5") 'the 2014 address can be found in full in cell H5 in the Macros tab
set nwb = Workbooks.Open(strs) 'address of new workbook and opens it
With ActiveSheet
.AutofilterMode = False
'Filter this and that here'
End With
nwb.Sheets("ALL DATA").Range("A1:CA100000").Copy wb.Sheets("2014 Current Week").Range("C" & Rows.Count).End(xlUp)
'this one works, and copies exactly as I want into the 2014 Current Week tab
wb.Sheets("2014 Current Week").Range("C2:CC10000").Copy wb.Sheets("2014 YTD").Range("C" & Rows.Count).End(xlUp).Offset(1, 0)
'this one doesn't work, and does not copy or paste at all from that 2014 Current Week into the 2014 YTD tab of the same workbook
我刚刚测试了你的代码,效果很好。它正确粘贴数据。检查工作表的名称。您的代码看起来不错,应该没有任何问题。由于它似乎不起作用,您需要查看实际的
工作表和相关数据
您正在使用End
查找最后一行数据。考虑到这一点,你自己测试一下是值得的。转到C
列中的工作表的最后一行
,然后按CTRL+UP。这将向您显示将粘贴数据的位置
根据您的描述,最后一行是问题所在。由于存在一些影响结束的杂散数据不起作用
=说明无效。当前代码的作用是什么?它与您想要的有什么不同?如果在同一工作表上的工作簿、工作表或范围之间进行复制,则应该没有区别。问题可能与这些工作表上的具体内容有关,但同样需要对问题进行更好的描述。谢谢拜伦,我编辑了我的问题,希望能解释更多我的问题。除了上面的代码外,我还尝试使用nwb.Sheets(“ALL data”).Range(“A1:CA100000”).copy wb.Sheets(“2014 YTD”).Range(“C”和Rows.Count”).End(xlUp)将新工作簿中的数据直接复制到2014 YTD选项卡中,这与有效的代码基本相同,但此代码仍然不起作用。代码看起来不错。这意味着问题是特定于您的工作表和数据的。最好的方法是彻底调试。您最好为源和目标创建一个范围
,以便查看它们包含的内容。一旦有了这些变量,就可以添加一个断点,并逐步遍历代码以查看它在做什么。您的2014本周范围中是否有任何数据?你确定要在那张纸上写C栏吗?您还需要这么大的数据块吗?表2014年至今
是否在您的预期范围内?有一点很简单,因为您的代码看起来不错。在2014当前周选项卡的第1行中只有标签,没有其他数据。本周和年初至今选项卡的布局是相同的,唯一的区别是年初至今有现有数据。数据块是变化的,因此大数据块是我对这种变化进行动态处理的最简单方法。如果上面的代码工作正常,数据应该粘贴到两个选项卡中,但到目前为止,它只是粘贴到当前周选项卡中。正如您所说的Byron,简单的事情。。。显然,YTD选项卡C列中有一些数据,远远低于我看到的任何现有数据。所以,代码将所有新数据粘贴到了这个数据下。我甚至尝试过重命名我的工作表。。。我想这可能是工作簿中更深层次的内容。是的,我在C列中发现了不应该存在的数据。这是实际数据应该粘贴的地方。