[算表] 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