English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請教各位大師:
資料夾內有50個活頁簿,每個活頁簿內有一個工作表的資料是相同的,名稱是data,有什麼辦法在一個工作表內輸入新資料時,其他49個活頁簿的相同工作表也同時填上相同資料,不想再用儲存格複製的方式浪費時間。
能否把它用VBA編輯在data工作表,當開啟一個data工作表時,它會自動把當基準的工作表的新增資料連結或複製過來,這樣才符合我的需要,可是我不會寫VBA,指望各位的指教了。

2006-09-11 04:46:31 · 3 個解答 · 發問者 yosi 2 in 電腦與網際網路 軟體

謝謝各位的指導,我現在是用剪貼簿貼上的方法,每當增加一筆資料,就得把檔案開開關關貼上去,因為如此動作是重複性的,我想必有可簡化的方法 ?
當在基準工作表增加一筆資料後,最好在開啟其他檔案時,其相同工作表內的資料就巳更新跟基準的工作表一樣了,不必有再其它的動作,有這麼理想的方法嗎 ?

2006-09-13 16:31:23 · update #1

微軟卓越魔人
謝謝妳的指教,妳的程式是何種功能,可否再詳述一下,只要在基準的工作表(master)弄好就可以。

2006-09-19 18:43:12 · update #2

微軟卓越魔人
請把程式碼貼在何處的動作細述一下,感謝不盡 。

2006-09-25 16:21:05 · update #3

3 個解答

基於效能考量, 建議在更新完第一個檔案之後, 再一次更新其他49個檔案, 這樣是比較快的做法.

在工作表Sheet1的A欄位定義這49個檔案的名字, 例如 file2.xls, file3.xls, file4.xls..
新增以下VBA程式碼:
Sub Sync()
Application.DisplayAlerts = False
Srcfile = ActiveWorkBook.Name
For i = 1 to 49
Workbooks.Open Sheets("Sheet1").Cells(i,1).Value
Tarfile = ActiveWorkBook.Name
Workbooks(Srcfile).Activate
Sheets("Data").Select
Selection.Copy
Workbooks(Tarfile).Activate
Sheets("Data").Select
Selection.Pastespecial Paste:=xlPasteAll
ActiveWorkbook.Close Savechanges:=True
Next
Application.DisplayAlerts = True
End sub

2006-09-12 12:16:14 補充:
" 請自行更換成小寫的雙引號

2006-09-13 13:43:57 補充:
是的, 我假設你50個檔案都有一模一樣的工作表Data, 那其實用整頁複製的方式是最簡單的.

2006-09-18 15:59:41 補充:
以你的問題而言, 要先想清楚 "驅動者" 是第一個檔案 (master), 或者其他49個檔案(slave).寫在master的好處是功只要一次, 其他49個檔案不需要調整. 這個時候就要從 master 主動把資料同步到 slave. 但是除非你堅持每新增或更新一筆資料, 其他49個檔案就同步更新. 否則整批更新的效能會比較快.如果要由slave端發動, 也就是那49個檔案在開啟的時候, 才去跟master同步, 那這49個檔案都要增加link或VBA, 比較麻煩, 而且如果不開啟檔案就無法更新資料.所以建議還是從master主動將資料同步到其他檔案.

2006-09-24 09:07:15 補充:
我的程式就是很單純的copy-paste,把第一個檔案的資料copy到其他49個檔案。在第一個檔案中寫VBA程式。

2006-09-26 09:37:51 補充:
執行選單 工具-巨集-Visual Basic編輯器,在左方的物件瀏覽器按右鍵,選插入-模組, 然後就可以貼上程式碼了.

2006-09-12 08:12:15 · answer #1 · answered by 微軟卓越魔人 6 · 0 0

可做相關連結的動作,你可以選擇一個工作表做為主,你在把其他49個工作表,以連結的方式直接做複製的動作
選擇儲存格(其他49工作表的)→按上方的=鍵→選擇主工作表的儲存格→按enter
如果你的工作表是平行相同的話,只要設好一個儲存格,可直接拉儲存格的右下方+,往左右上下直接複製


不知道這是不是你要的(因為我不懂什麼叫VBA,故就照你字面上的意思回答)

2006-09-12 07:17:30 · answer #2 · answered by 陸仁嘉 2 · 0 0

您的意思是說,更改其中一個*.xls的data工作表後,按一下VBA,其他49個的data工作表一起更新嗎?

2006-09-12 09:17:04 補充:
就像是複製該工作表到其他*.xls內?

2006-09-12 05:15:39 · answer #3 · answered by jackylu 6 · 0 0

fedest.com, questions and answers