Excel 如何在VBA中粘贴特定行中的数据?

Excel 如何在VBA中粘贴特定行中的数据?,excel,vba,Excel,Vba,我是新使用VBA的,我正在创建一个简单的项目来增强我在VBA编程方面的知识 现在我的excel中有两张表,Sample1和Sample2,当然Sample1是我的母版页,现在我想在Sample2中获取特定列数据并将其粘贴到Sample1。我已经做到了。现在我的问题是我想将其粘贴到Sample1中的特定行,因为当我从Sample2复制数据并粘贴到Sample1时,数据将显示在底部 这是我的代码,正如您所看到的,我希望我的项目是动态的 Dim lastrow尽可能长,erow尽可能长 lastrow

我是新使用VBA的,我正在创建一个简单的项目来增强我在VBA编程方面的知识

现在我的excel中有两张表,
Sample1
Sample2
,当然
Sample1
是我的母版页,现在我想在
Sample2
中获取特定列数据并将其粘贴到
Sample1
。我已经做到了。现在我的问题是我想将其粘贴到
Sample1
中的特定行,因为当我从
Sample2
复制数据并粘贴到
Sample1
时,数据将显示在底部

这是我的代码,正如您所看到的,我希望我的项目是动态的

Dim lastrow尽可能长,erow尽可能长

lastrow = Worksheets("Sample2").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastrow
    Worksheets("Sample2").Cells(i, 5).Copy
    erow = Worksheets("Sample1").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Sample2").Paste Destination:=Worksheets("Sample1").Cells(erow + 1, 1)
    Worksheets("Sample2").Cells(i, 7).Copy
    Worksheets("Sample2").Paste Destination:=Worksheets("Sample1").Cells(erow + 1, 2)
Next i

我想要的是,当我将数据从
Sample2
复制到
Sample1
时,它会将其粘贴到特定列,例如
A5

您对
行的引用。Count
不是完全限定的,因此它正在查看活动工作簿,而不是您想要的工作簿

对于第二个工作表,请参考另一个工作表:

erow = Worksheets("Sample1").Cells(Worksheets("Sample1").Rows.Count, 1).End(xlUp).Row
此外,您可能希望对第一个进行类似的操作:

lastrow = Worksheets("Sample2").Cells(Worksheets("Sample2").Rows.Count, 1).End(xlUp).Row

您的lastrow列应为5而不是1:
lastrow=Worksheets(“Sample2”)。单元格(Rows.Count,5)。End(xlUp)

同样的问题,我想要的是当我从
Sample2
复制数据并粘贴到
Sample1
时,我想要将数据粘贴到特定行。“特定行”是什么意思?您的意思是在粘贴之前由您指定?例如,在每次循环迭代开始时使用InputBox?