[算表] VBA如何寫入他檔特定儲存格

看板Office作者 (溫柔殺手)時間7年前 (2018/09/08 11:35), 7年前編輯推噓0(0021)
留言21則, 3人參與, 7年前最新討論串1/2 (看更多)
軟體: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://www.ptt.cc/bbs/Office/M.1536377740.A.ED7.html

09/08 11:42, 7年前 , 1F
workbooks.open開啟檔案(檔案路徑和完整檔名)
09/08 11:42, 1F

09/08 11:44, 7年前 , 2F
寫入儲存格內可以range.copy (destination)、range.copy
09/08 11:44, 2F

09/08 11:44, 7年前 , 3F
worksheets.paste或range.pastespecial
09/08 11:44, 3F

09/08 11:45, 7年前 , 4F
range = range.value
09/08 11:45, 4F

09/08 13:51, 7年前 , 5F
請問soyoso大大,不好意思請問一下,看起來我的核心問題
09/08 13:51, 5F

09/08 13:53, 7年前 , 6F
會是我要如何在命令中明確的指出是A檔案,還是B檔案。
09/08 13:53, 6F
※ 編輯: yimean (59.125.15.22), 09/08/2018 14:00:19

09/08 14:06, 7年前 , 7F
切回a檔,可以thisworkbook.activate,再range.copy貼到
09/08 14:06, 7F

09/08 14:06, 7年前 , 8F
b檔
09/08 14:06, 8F

09/08 14:08, 7年前 , 9F
或以是workbooks(完整檔案).activate將a檔設為作用活頁簿
09/08 14:08, 9F

09/08 14:26, 7年前 , 10F
建議設一個物件指向A檔和B檔,像是
09/08 14:26, 10F

09/08 14:26, 7年前 , 11F
Dim fileA As Workbook
09/08 14:26, 11F

09/08 14:27, 7年前 , 12F
Set fileA = workbooks(A檔案)
09/08 14:27, 12F

09/08 14:28, 7年前 , 13F
之後要處理A檔案的東西就用With fileA包起來
09/08 14:28, 13F

09/08 14:35, 7年前 , 14F
請問newacc大大,workbooks(A檔案),中的A檔案是需要完整
09/08 14:35, 14F

09/08 14:35, 7年前 , 15F
檔名嗎?需要帶路徑嗎?
09/08 14:35, 15F

09/08 14:44, 7年前 , 16F
已開啟,則不用帶路徑,就完整檔名
09/08 14:44, 16F

09/08 14:44, 7年前 , 17F
set 變數 = workbooks.open(檔案路徑和完整檔名)
09/08 14:44, 17F

09/08 14:53, 7年前 , 18F
Set fileA = Workbooks(Fname & ".xlsx")
09/08 14:53, 18F

09/08 14:56, 7年前 , 19F
已開啟就如回文所述不用帶路徑;但未開啟而要於workbooks.
09/08 14:56, 19F

09/08 14:57, 7年前 , 20F
open時則加上檔案路徑的部分
09/08 14:57, 20F

09/08 14:58, 7年前 , 21F
如set 變數 = workbooks.open(檔案路徑和完整檔名)
09/08 14:58, 21F
文章代碼(AID): #1RaqECxN (Office)
文章代碼(AID): #1RaqECxN (Office)