我有4个选项卡。。
第一年,第二年,第三年,总支出。
第一年粘贴在总支出选项卡中,如下所示:
https://i.stack.imgur.com/SegGE.
现在,我需要从第4行向下复制第2年和第3年的数据,并粘贴到Total Spend中的下一行空白中。
这是我用来标记第2年和第3年范围的代码,并试图找到A列中的第一个空白单元格来粘贴数据。
我不明白为什么这不起作用。它不会在任何位置粘贴任何内容。
Dim Year2 As Range
Dim Year3 As Range
Dim Location As Range
Set Year2 = Sheets("Year 2 Data").Range("4:4").End(xlDown)
Set Year3 = Sheets("Year 3 Data").Range("4:4").End(xlDown)
Set Location = Sheets("Total Spend").Cells(Rows.Count, 1).End(xlUp)
If Len(Location.Value) > 0 Then Set Location = Location.Offset(1)
' This paste is manual so Row 2 stays blank - this is needed in formatting later on.
Sheets("Year 1 Data").Select
Cells.Select
Selection.Copy
Sheets("Total Spend").Select
Cells.Select
ActiveSheet.Paste
Year2.Copy Location
Year3.Copy Location
使用此
' Range(Sheets("Year 2 Data").Range("4:4"), Sheets("Year 2 Data").Range("4:4").End(xlDown))
而不是
Sheets("Year 2 Data").Range("4:4").End(xlDown)
同样的事情将适用于片材("第3年数据"(
看了评论后,会有这样的答案吗?(我还不能测试它,因为我已经下班了。(
Dim Year2 As Range
Dim Year3 As Range
Dim Location As Range
Set Year2 = Range(Sheets("Year 2 Data").Range("4:4"), Sheets("Year 2 Data").Range("4:4").End(xlDown))
Set Year3 = Range(Sheets("Year 3 Data").Range("4:4"), Sheets("Year 3 Data").Range("4:4").End(xlDown))
Set Location = Sheets("Total Spend").Cells(Rows.Count, 3).End(xlUp)
"我把上面的内容改为从第3行开始,跳过空白的第2行,所以理论上它会使用第3行下面的IF进行检查。
If Len(Location.Value) > 0 Then Set Location = Location.Offset(1)
"这个粘贴是手动的,所以第2行保持空白-这是以后格式化时需要的。
Sheets("Year 1 Data").Select
Cells.Select
Selection.Copy
Sheets("Total Spend").Select
Cells.Select
ActiveSheet.Paste
Year2.Copy Location
Year3.Copy Location
好的,根据您的逻辑,我认为下面的代码会有所帮助。它将从工作表中选择数据,并使用输出工作表的最后一行将数据粘贴到输出工作表中。
n A粘贴数据。
我不明白为什么这不起作用。它不会在任何位置粘贴任何内容。
Dim Year2 As Range
Dim Year3 As Range变暗位置作为范围
Set Year2=范围(表("第二年数据"(。范围("4:4">
设置Year3=范围(表("第三年数据"(。范围("4:4"设置位置=纸张("总支出"(。单元格(行计数+88,1(。结束(xlUp(。偏移量(1,0(
如果Len(Location.Value(>0然后设置位置=位置偏移(1(
"这个粘贴是手动的,所以第2行保持空白-这是以后格式化时需要的。
Sheets("Year 1 Data").Select
Cells.Select
Selection.Copy
Sheets("Total Spend").Select
Cells.Select
ActiveSheet.Paste
纸张("总支出"(。单元格(行。计数+88,1(。结束(xlUp(。偏移量(1,0(。选择
第二年复制位置
纸张("总支出"(。单元格(行。计数+88,1(。结束(xlUp(。偏移量(1,0(。选择
第3年复制位置
哦!使用以下代码来解决该错误。我删除了"+88〃;从rows.count解决该错误。
Set Location = Sheets("Total Spend").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)