[算表] VBA如何写入他档特定储存格

楼主: yimean (温柔杀手)   2018-09-08 11:35:38
软件:Excel
版本:2013
小弟目前遇到两个问题。
1.我要在A档案执行VBA把A档案的某特定储存格写入B档案特定储存格中。
2.我要在A档案执行VBA把B档案的某特定储存格读入A档案特定储存格中。
举例:
A档案worksheet1
A B C
1 我 是 谁
2 王 大 头
3 知 道 吗
B档案
A B C D E F G H I
1 我 是 谁 王 大 头 知 道 吗
取得档案路径我已经会了,可是我不知道应该如何写入档案。
我的核心问题是,我分不清楚此时我在A档案还是在B档案。
要如何在两个档案间切换。
下方是我的片段程式码,烦请些助指导。
Dim dpath As String
Dim Fname As String
Dim index_row As Integer
Dim index_column As Integer
Dim x As Integer
dpath = ThisWorkbook.Path
MsgBox ThisWorkbook.Path
Fname = Range("B1").Value
Workbooks.Open Filename:=dpath & "\" & Fname & ".xlsx"
Application.Goto reference:=ActiveSheet.Range("A1")
ActiveSheet.Range("A1").End(xlDown).Select '当我做这个动作时我应该是在B档案了
'那我如何切回A档案把A档案的资料复制起来贴到B档案。
以上烦请协助,感谢。
作者: soyoso (我是耀宗)   2018-09-08 11:42:00
workbooks.open开启档案(档案路径和完整档名)写入储存格内可以range.copy (destination)、range.copyworksheets.paste或range.pastespecialrange = range.value
楼主: yimean (温柔杀手)   2018-09-08 13:51:00
请问soyoso大大,不好意思请问一下,看起来我的核心问题会是我要如何在命令中明确的指出是A档案,还是B档案。
作者: soyoso (我是耀宗)   2018-09-08 14:06:00
切回a档,可以thisworkbook.activate,再range.copy贴到b档或以是workbooks(完整档案).activate将a档设为作用活页簿
作者: newacc (XD)   2018-09-08 14:26:00
建议设一个物件指向A档和B档,像是Dim fileA As WorkbookSet fileA = workbooks(A档案)之后要处理A档案的东西就用With fileA包起来
楼主: yimean (温柔杀手)   2018-09-08 14:35:00
请问newacc大大,workbooks(A档案),中的A档案是需要完整档名吗?需要带路径吗?
作者: soyoso (我是耀宗)   2018-09-08 14:44:00
已开启,则不用带路径,就完整档名set 变量 = workbooks.open(档案路径和完整档名)
楼主: yimean (温柔杀手)   2018-09-08 14:53:00
Set fileA = Workbooks(Fname & ".xlsx")
作者: soyoso (我是耀宗)   2018-09-08 14:56:00
已开启就如回文所述不用带路径;但未开启而要于workbooks.open时则加上档案路径的部分如set 变量 = workbooks.open(档案路径和完整档名)

Links booklink

Contact Us: admin [ a t ] ucptt.com