如何經由VB的按鈕 由一個EXCEL檔案資料匯入至另一EXCEL
- 帖子
- 76
- 主題
- 17
- 精華
- 0
- 積分
- 95
- 點名
- 0
- 作業系統
- windowsxp
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2016-8-19
- 最後登錄
- 2021-5-5

|
12#
發表於 2016-9-9 15:16
| 只看該作者
回復 11# GBKEE
感謝G大的大力相助
我昨天有試過你之前貼的程式碼- Private Sub Data_Click()
- Dim Source As String, Ar()
- Source = Application.GetOpenFilename
- With Workbooks.Open(Source)
- Ar = .Sheets(1).Range("A1:BN65536").Value
- .Close
- End With
- With ThisWorkbook.Sheets("data").Range("A1").Resize(UBound(Ar), UBound(Ar, 2))
- .Value = Ar
- .Name = "data"
- End With
- End Sub
複製代碼 中間我直接讀取之前檔案全部儲存格內容
現在改成- Private Sub Data_Click()
- Dim Source As String, Ar()
- Source = Application.GetOpenFilename
- With Workbooks.Open(Source)
- Ar = .Sheets(1).UsedRange.Value
- .Close
- End With
- With ThisWorkbook.Sheets("data").Range("A1").Resize(UBound(Ar), UBound(Ar, 2))
- .Value = Ar
- .Name = "data"
- End With
- End Sub
複製代碼 從Range("A1:BN65536")改為UsedRange
這個方法快多了
有成功執行 真的很感謝你!!!!! |
|
|
|
|
|
|
- 帖子
- 90
- 主題
- 16
- 精華
- 0
- 積分
- 114
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- sp2
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-7-9
- 最後登錄
- 2018-10-7
|
13#
發表於 2016-9-10 16:54
| 只看該作者
不建議使用UsedRange,如果遇到有空一大段的儲存格,那資料就無法完整匯出 |
|
|
|
|
|
|
- 帖子
- 76
- 主題
- 17
- 精華
- 0
- 積分
- 95
- 點名
- 0
- 作業系統
- windowsxp
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2016-8-19
- 最後登錄
- 2021-5-5

|
14#
發表於 2016-9-22 11:37
| 只看該作者
回復 13# white5168
謝謝你的建議,已修正回來
回復 11# GBKEE
又有個疑問
若不要使用vb按鈕
直接應用檔案名字(在同個資料夾下)
就可以把資料匯入
這該怎麼修改呢?
ex:檔案名稱為==>測試.xlsx |
|
|
|
|
|
|
- 帖子
- 76
- 主題
- 17
- 精華
- 0
- 積分
- 95
- 點名
- 0
- 作業系統
- windowsxp
- 軟體版本
- office2007
- 閱讀權限
- 20
- 性別
- 女
- 註冊時間
- 2016-8-19
- 最後登錄
- 2021-5-5

|
15#
發表於 2016-9-22 11:46
| 只看該作者
這是我測試的code但有錯誤- Private Sub 測試()
- Dim Source As String, Ar()
- Source = application.run(Activeworkbook.Name&"!測試")
- With Workbooks.Open(Source)
- Ar = .Sheets(1).Range("A1:D65536").value
- .Close
- End With
- With ThisWorkbook.Sheets("測試").Range("A1").Resize(UBound(Ar), UBound(Ar, 2))
- .value = Ar
- .Name = "測試"
- End With
- MsgBox "測試資料匯入成功"
- End Sub
複製代碼 或是可否使用在資料表上設定一個儲存格的名稱為test
然後應用這個名稱 可以把檔案匯入進來 |
|
|
|
|
|
|