0

我有4个标签..

第 1 年、第 2 年、第 3 年,总支出。

第 1 年在总支出选项卡中粘贴如下:

https://i.stack.imgur.com/SegGE

现在,我需要将第 2 年和第 3 年的数据从第 4 行向下复制并粘贴到 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
4

4 回答 4

0

用这个

'    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 年数据”)

于 2020-12-07T17:34:19.750 回答
0

哦!使用下面的代码来解决该错误。我已从 rows.count 中删除“+88”以解决该错误。

Set Location = Sheets("Total Spend").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
于 2020-12-08T09:26:34.917 回答
0

看了评论后,会有这样的答案吗?(因为我已经下班了,所以我还不能测试它。)

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
于 2020-12-07T19:22:38.643 回答
0

好的,按照您的逻辑,我认为下面的代码会有所帮助。它将从工作表中选择数据,并使用输出工作表的最后一行将数据粘贴到输出工作表中。

n A 粘贴数据。

我不知道为什么这不起作用。它不会在任何位置粘贴任何内容。

Dim Year2 As Range

将 Year3 调暗为范围 将位置调暗为范围

设置 Year2 = Range(Sheets("第 2 年数据").Range("4:4"), Sheets("第 2 年数据").Range("4:4").End(xlDown))

设置 Year3 = Range(Sheets("Year 3 Data").Range("4:4"), Sheets("Year 3 Data").Range("4:4").End(xlDown)) 设置位置 = Sheets ("总支出").Cells(Rows.Count+88, 1).End(xlUp).offset(1, 0)

如果 Len(Location.Value) > 0 则设置 Location = Location.Offset(1)

' 此粘贴是手动的,因此第 2 行保持空白 - 这是稍后格式化时需要的。

Sheets("Year 1 Data").Select
Cells.Select
Selection.Copy
Sheets("Total Spend").Select
Cells.Select
ActiveSheet.Paste

Sheets("总支出").Cells(Rows.Count+88, 1).End(xlUp).offset(1, 0).select

Year2.复制位置

Sheets("总支出").Cells(Rows.Count+88, 1).End(xlUp).offset(1, 0).select

Year3.复制位置

于 2020-12-08T03:10:31.703 回答