【发布时间】:2015-08-20 16:06:16
【问题描述】:
我是 Visual Basic 的新手(甚至还不到一天 :)),我们将不胜感激。
我有两个 excel 文件,源文件和目标文件。源文件在不同列的第一个选项卡/工作表中充满了信息。目标文件是半空的(其余部分预先填充了默认值),需要填充与源文件相同的值(如果我们可以保留目标格式会很好),但在不同选项卡的不同列中。
谁能给我一个宏功能,可以:
(例如:)
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文件复制到另一个,我不介意打开/关闭/保存工作簿自动化或任何其他自动化。
也许一个启动函数可以是?
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
【问题讨论】:
-
欢迎来到 SO。请参阅how to ask a question。
-
要扩展如何提问,一个好问题,你必须表明你已经做了一些研究。你觉得你具体需要什么?从理论上讲,我们应该帮助您了解它是如何工作的,但不要根据您表达的需求写出整个函数/子。希望这可以解决有关 Stack Overflow 的一些问题!
-
嗨,大卫,感谢您的回答。
-
我一整天都做了很多研究,但很失望,因为我找不到这个看似简单的复制粘贴功能的解决方案,我试图用我研究的一个功能来澄清,请看我的版本以上。