我是视觉基础的新手(甚至不是一天之久:) :)我们将非常感谢您的帮助。
我有两个excel文件,Source和Target文件。源文件在不同列的第一个选项卡/表中包含所有信息。目标文件是半空的(其余部分预先填充了默认值)并且需要填充与源文件相同的值(如果我们可以保留,目标格式将是好的),但是在不同选项卡的不同列中。 / p>
有人可以通过以下宏功能来启发我:
(例如:)
1)从源文件/表1 /列A3及以下内容中取出内容,并将其复制到目标文件/表1 /列X7及以下
2)从源文件/表1 /列B3及以下内容中取出内容,并将其复制到目标文件/表2 /列X5及以下
3)从源文件/表1 /列C3及以下内容中取出内容,并将其复制到目标文件/表1 /列Y2及以下,同时复制到目标文件/表2 /列Z4中以及。
因此,基本上A列转到另一个文件的第一个选项卡列X,B转到第二个选项卡列X,C分别转到第一个和第二个选项卡,列Y和Z. (有可能是目标文件中的起始行,每次都不同。)
如果我有基本的结构代码,我想我可以根据我的具体问题调整文件位置,工作簿/工作表名称和列。
非常感谢您抽出时间回答我的问题并期待您的任何想法!如果您需要进一步澄清某些事情,请告诉我。
干杯!
帕诺斯
P.S.1。请注意,我们要从一个文件复制到另一个文件(不要在同一文件中的不同工作表中复制!)
P.S.2。只是将列从一个excel文件复制到另一个excel文件,我不介意打开/关闭/保存工作簿自动化或任何其他自动化。
也许启动功能可能是?
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
答案 0 :(得分:1)
这是一个非常简短的例子:
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