作者yimean (温柔杀手)
看板Office
标题[算表] VBA如何写入他档特定储存格
时间Sat Sep 8 11:35:38 2018
软体: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档案。
以上烦请协助,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.98.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1536377740.A.ED7.html
1F:→ soyoso: workbooks.open开启档案(档案路径和完整档名) 09/08 11:42
2F:→ soyoso: 写入储存格内可以range.copy (destination)、range.copy 09/08 11:44
3F:→ soyoso: worksheets.paste或range.pastespecial 09/08 11:44
4F:→ soyoso: range = range.value 09/08 11:45
5F:→ yimean: 请问soyoso大大,不好意思请问一下,看起来我的核心问题 09/08 13:51
6F:→ yimean: 会是我要如何在命令中明确的指出是A档案,还是B档案。 09/08 13:53
※ 编辑: yimean (59.125.15.22), 09/08/2018 14:00:19
7F:→ soyoso: 切回a档,可以thisworkbook.activate,再range.copy贴到 09/08 14:06
8F:→ soyoso: b档 09/08 14:06
9F:→ soyoso: 或以是workbooks(完整档案).activate将a档设为作用活页簿 09/08 14:08
10F:→ newacc: 建议设一个物件指向A档和B档,像是 09/08 14:26
11F:→ newacc: Dim fileA As Workbook 09/08 14:26
12F:→ newacc: Set fileA = workbooks(A档案) 09/08 14:27
13F:→ newacc: 之後要处理A档案的东西就用With fileA包起来 09/08 14:28
14F:→ yimean: 请问newacc大大,workbooks(A档案),中的A档案是需要完整 09/08 14:35
15F:→ yimean: 档名吗?需要带路径吗? 09/08 14:35
16F:→ soyoso: 已开启,则不用带路径,就完整档名 09/08 14:44
17F:→ soyoso: set 变数 = workbooks.open(档案路径和完整档名) 09/08 14:44
18F:→ yimean: Set fileA = Workbooks(Fname & ".xlsx") 09/08 14:53
19F:→ soyoso: 已开启就如回文所述不用带路径;但未开启而要於workbooks. 09/08 14:56
20F:→ soyoso: open时则加上档案路径的部分 09/08 14:57
21F:→ soyoso: 如set 变数 = workbooks.open(档案路径和完整档名) 09/08 14:58