将数据粘贴到"A4"的下一个空白中



我有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)

最新更新