返回列表 上一主題 發帖

[發問] 跨檔案擷取工作頁資料

[發問] 跨檔案擷取工作頁資料

我有A.xls 及 B.xls
想從A.xls執行表單指令.將B.xls的資料匯入A.xls的固定工作頁中(實際作業的資料比數蠻多的)
已知檔名可以寫死路徑..
但遇到檔名跟路徑有變更時...例如B.xls變成C.xls
就不知道該怎麼處理了
請教各位大大有沒有方式去取代檔名這個問題
例如用Textbox或combobox取得路徑+檔名去取代?
Excel學習.rar (20.76 KB)
boyao

回復 1# boyao
不知你要怎弄,給你一個方向.
  1. Private Sub CommandButton1_Click()
  2.     If Dir([a1]) = "" Then
  3.         With Application.FileDialog(msoFileDialogFilePicker)
  4.             .InitialFileName = Range("a1")
  5.             Do While .Show = 0   '執行迴圈: 沒有選取檔案
  6.             Loop
  7.             [a1] = .SelectedItems(1) '開啟 所選的檔案
  8.         End With
  9.     End If
  10.     UserForm1.Show
  11.     'UserForm1中用 Workbooks.Open ([A1])
  12. End Sub
複製代碼

TOP

回復 2# GBKEE

感謝大大
這種開啟檔案的方式方便多了.....
boyao

TOP

回復 2# GBKEE


再請教G大
要怎麼切換回開啟檔案的視窗.並關掉已經開啟的檔案ㄚ
如附件...
感謝!!
Excel學習.rar (27.83 KB)
boyao

TOP

回復 4# boyao
  1. Private Sub CommandButton2_Click()
  2.     'BBB檔案關閉後就會回到檔案的視窗
  3.     Workbooks([A1]).Close False  '指定活頁簿.關閉檔案 不存檔
  4.     'ThisWorkbook.Activate          '這不就是回到檔案的視窗
  5.    
  6.     'ActiveWorkbook.Close False  '使用中活頁簿
  7.     'Workbooks(1).Close False    '依活頁簿索引
  8.     'ThisWorkbook.Close False    '程式碼所在活頁簿
  9. End Sub
複製代碼

TOP

回復 5# GBKEE


謝謝
我用ActiveWorkbook跟ThisWorkbook去排除問題...
'Workbooks(1).Close False    '依活頁簿索引
索引的值是依照檔案開啟的先後順序...會出錯....
boyao

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題