将数据从不同的工作表粘贴到一张工作表(一个接一个)

时间:2019-05-16 08:35:53

标签: excel vba

我正在尝试将不同工作表的信息合并为一张工作表。在我的代码中,我首先创建一个变量j,该变量将具有Sheets(“ Folha2”)中一个单元格的值(此单元格仅统计Sheets(“ Folha1”)第一栏中填充了多少行。我可以从哪一行开始从另一张纸粘贴数据。因此,我只将“葡萄牙”表中的数据粘贴到“ Folha1”表中,然后尝试从单元格(j,1)开始粘贴“意大利”表中的数据。

错误是

  

未找到方法或数据成员

我做错了什么?

Sub Macro2()

Dim j As Integer
j = Sheets("Folha2").Range("A1").Value + 1

    Range(Sheets("Portugal").Range("A1"), Sheets("Portugal").Range("A1").End(xlToRight).End(xlDown)).Copy
    Range(Sheets("Folha1").Cells(j, 1)).Paste
    Range(Sheets("Itália").Range("A1"), Sheets("Itália").Range("A1").End(xlToRight).End(xlDown)).Copy
    Range(Sheets("Folha1").Cells(j, 1)).Paste

End Sub

2 个答案:

答案 0 :(得分:0)

不太清楚您在做什么,但是如果我没错,您可以将代码简化为:

Sub Macro2()

Dim j As Long

'j = Sheets("Folha2").Range("A1").Value + 1

Sheets("Portugal").Range("A1").CurrentRegion.Copy Sheets("Folha1").Cells(Rows.Count, 1).End(xlUp)(2)
Sheets("Italia").Range("A1").CurrentRegion.Copy Sheets("Folha1").Cells(Rows.Count, 1).End(xlUp)(2)

End Sub

答案 1 :(得分:0)

这可能会做到:

Sub Macro4()

    Range(Sheets("Portugal").Range("A1"), Sheets("Portugal").Range("A1").End(xlToRight).End(xlDown)).Copy
    Sheets("Folha1").Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Range(Sheets("Itália").Range("A2"), Sheets("Itália").Range("A2").End(xlToRight).End(xlDown)).Copy
    Sheets("Folha1").Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

End Sub