Vba 复制一个工作簿中的列并粘贴到另一个工作簿中。创建新列
我需要每月从不同的工作簿中收集数据,然后将其传输到一个主数据工作簿中Vba 复制一个工作簿中的列并粘贴到另一个工作簿中。创建新列,vba,excel,Vba,Excel,我需要每月从不同的工作簿中收集数据,然后将其传输到一个主数据工作簿中 MyFile = Dir Range("C2:D18").Copy ActiveWorkbook.Close False erow = Sheet1.Cells(3, 2).End(xlUp).Offset(0, 1).Row ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, erow), Cells(erow, erow)) 上面的
MyFile = Dir
Range("C2:D18").Copy
ActiveWorkbook.Close False
erow = Sheet1.Cells(3, 2).End(xlUp).Offset(0, 1).Row
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range(Cells(erow, erow), Cells(erow, erow))
上面的代码传输我的数据,并将它们正确地放入当月的C列和D列。当我试图在下个月传输数据时,它会替换C和D列中的数据。相反,我希望新数据进入E列和F列,以及G和H列之后的一个月
如何做到这一点?我建议您看看如何正确使用
Dir()
读取多个文件。关于您的解释,我不确定您是否需要一次阅读多个文件,但看到清晰的示例总是很好的!;)
顺便说一句,请注意,.Offset(0,1)
在erow=…
中是无用的,因为您在末尾使用了.Row
,并且您的Offset
只影响单元格的列
如果您的初始代码执行您想要的操作,这应该可以正常工作:
MyFile = Dir
Range("C2:D18").Copy
ActiveWorkbook.Close False
eCol = Sheet1.Cells(3, 2).End(xlUp).End(xlToRight).Offset(0, 1).Column
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Cells(2, eCol)
查看如何使用
for
循环和offset
函数使用索引和循环,使索引增加2(2列),循环还可以从多个工作簿读取数据您可以erow
…只需一天