作者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/m.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