Board logo

標題: [發問] 跨檔案擷取工作頁資料 [打印本頁]

作者: boyao    時間: 2012-10-19 17:33     標題: 跨檔案擷取工作頁資料

我有A.xls 及 B.xls
想從A.xls執行表單指令.將B.xls的資料匯入A.xls的固定工作頁中(實際作業的資料比數蠻多的)
已知檔名可以寫死路徑..
但遇到檔名跟路徑有變更時...例如B.xls變成C.xls
就不知道該怎麼處理了
請教各位大大有沒有方式去取代檔名這個問題嗎
例如用Textbox或combobox取得路徑+檔名去取代?
[attach]12831[/attach]
作者: GBKEE    時間: 2012-10-19 20:56

回復 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
複製代碼

作者: boyao    時間: 2012-10-20 01:47

回復 2# GBKEE

感謝大大
這種開啟檔案的方式方便多了.....
作者: boyao    時間: 2012-10-22 21:59

回復 2# GBKEE


再請教G大
要怎麼切換回開啟檔案的視窗.並關掉已經開啟的檔案ㄚ
如附件...
感謝!!
[attach]12855[/attach]
作者: GBKEE    時間: 2012-10-23 06:39

回復 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
複製代碼

作者: boyao    時間: 2012-10-23 11:10

回復 5# GBKEE


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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)