如何自动将一个Excel文件中的列复制到另一张Excel表格中的另一个Excel文件中

我真的是新的视觉基础(甚至不是一天老:))和你的帮助将不胜感激。

我有两个Excel文件,源文件和目标文件。 源文件在第一个选项卡/工作表的不同列中充满了所有信息。 目标文件是半空的(其余预填充了默认值),并且需要填充与源文件相同的值(如果我们可以保留,目标格式会很好),但是在不同的标签页中的不同列中。

有人可以请赐教一个macrosfunction,可以:

(例如:)

1)从源文件/第1页/第A3栏及以下的内容中取出内容,并将其复制到目标文件/第1页/第X7栏以下

2)从源文件/ Sheet 1 / Column B3及以下的内容中取出内容,并将其复制到目标文件/ Sheet 2 / Column X5及以下

3)从源文件/第1页/第C3列及以下的内容中取出内容,并将其复制到目标文件/第1页/第Y2列和下面,同时在目标文件/第2页/第Z4列和下面。

因此,基本上A列进入另一个文件的第一个选项卡列X,B进入第二个选项卡列X,C进入第一个和第二个选项卡Y和Z列。 (有可能每个目标文件中的起始行不同。)


如果我有基本的结构代码,我想我可以根据文件位置,工作簿/工作表名称和列来调整我的具体问题。

非常感谢您花时间回答我的问题,期待您有任何想法! 请告诉我,如果你需要进一步澄清的东西。

干杯!
帕诺斯

PS1。 请注意,我们想从一个文件复制到另一个文件(而不是跨越同一个文件中的不同页面!)
PS2。 只是从一个Excel文件复制列到另一个,我不介意打开/closures/保存工作簿自动化或任何其他自动化。

也许一个起始function可能是?

Sub Demo() Dim wbSource As Workbook Dim wbTarget As Workbook ' First open both workbooks : Set wbSource = Workbooks.Open(“”) ' <<< path to source workbook Set wbTarget = Workbooks.Open("") ' Workbooks.Open(" ") ' <<< path to destination workbook 'Now, transfer values from wbSource to wbTarget: wbTarget.Sheets("Sheet Name?").Range("A3:A9999").Value = wbSource.Sheets("Sheet Name?").Range("X7:X9999") wbSource.Close End Sub 

这是一个非常简短的例子:

 Sub panos() Dim r1 As Range, r2 As Range, N As Long Workbooks.Open "C:\TestFolder\source.xlsx" N = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row Set r1 = Sheets("Sheet1").Range("A3:A" & N) Workbooks.Open "C:\TestFolder\dest.xlsx" Set r2 = Sheets("Sheet1").Range("X7") r1.Copy r2 End Sub