Re: [算表] VBA 複製資料到另一個檔案
感謝版上臥虎藏龍的大大...
小弟成功了,事實上我是改了別人的作品。
不過也是跟大家分享一下。^^
希望能拋磚引玉,讓越來越多人來討論VBA
但是此程式在跑的時候仍舊有兩個可以修改的地方,希望高手能協助指導,感謝。
1.檔案總管介面選擇之後選擇的檔名不會秀在檔案名稱中,可否讓他秀出來。
2.總覺得程式可以在精簡,因為主架構是網友的作品,在這樣的主架構底下,似乎只能這
樣寫,請問有辦法省掉For Each In嗎?
--------------我是分隔線--------------------------
Sub Main()
'宣告一個FileDialog物件的變數
Dim fd As FileDialog
'建立一個資料夾選擇對話框的FileDialog物件
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'宣告一個容納每一個選擇的項目的變數.
'即使我們知道路徑是字串, 這個變數還是要宣告成Variant,
'因為For Each ...Next結構僅僅接受Variants 和 Object做為索引.
Dim vrtSelectedItem As Variant
'使用With...End With 區塊參照FileDialog物件.
With fd
'使用Show的方法顯示資料夾選擇對話框並且返回使用者的動作.
'使用者按了確定按鈕.
If .Show = -1 Then
'測試結果AllowMultiSelect屬性對msoFileDialogFolderPicker參數無效, 也就是無法複選資料夾
.AllowMultiSelect = False
'遍歷每一個選擇項目.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem 是每個選項的路徑字串.
'你可以依照你的需要處理返回的資訊, 此範例僅顯示路徑字串.
'MsgBox "The path is: " & vrtSelectedItem
Dim obApp As New Excel.Application
obApp.Workbooks.Open Filename:=vrtSelectedItem, ReadOnly:=True
With obApp.Workbooks(1).Worksheets("Sheet1")
For I = 1 To 22
Cells(I, 1) = .Cells(I, 1)
Next I
End With
obApp.Workbooks.Close
Set obApp = Nothing
Next vrtSelectedItem
'使用者按取消鈕.
Else
'什麼都沒做
End If
End With
'釋放物件.
Set fd = Nothing
End Sub
--------------------------------Thank you for your attention----------------
※ 引述《yimean (溫柔殺手N  )》之銘言:
: 軟體:Excel
: 版本:2003
: 我有兩個檔案,一個甲檔案,一個乙檔案
: 我想將VBA寫在甲檔案中,然後執行之後就去乙檔案中的某個位置複製資料
: 到甲檔案中的某個位置貼上,請問這應該要怎麼做?
: 煩請高手指導,感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.104.47
※ 編輯: yimean 來自: 123.195.104.47 (05/09 17:06)
推
05/09 22:48, , 1F
05/09 22:48, 1F
→
05/09 22:49, , 2F
05/09 22:49, 2F
→
05/09 22:59, , 3F
05/09 22:59, 3F
→
05/09 23:00, , 4F
05/09 23:00, 4F
→
05/10 09:43, , 5F
05/10 09:43, 5F
→
05/10 09:44, , 6F
05/10 09:44, 6F
→
05/10 09:45, , 7F
05/10 09:45, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章
-3
16