標題:
[發問]
我有關於Vlookup 的問題想請問
[打印本頁]
作者:
peellau
時間:
2014-3-4 10:55
標題:
我有關於Vlookup 的問題想請問
我有一個a.xlsx 裡面有儲存格是用Vlookup去參照b.xlsx 的資料 但一般來說 b.xlsx是另一台電腦開著
本機除了開a.xlsx之外不會再開b.xlsx 但這樣我發現一個問題 如果b.xlsx經由另一台電腦去更新資料
本機端開著a.xlsx並無法即時更新 請問各位大大 有辦法可以即時更新 或者是製作vba按鈕 更新嗎?
作者:
huijuang
時間:
2014-3-4 11:32
可以使用『編輯』→『連結』→『更新數值』
這樣應該就可以更新了
當然如果要做成VBA
只要錄製巨集,應該就可以了
不知道其他前輩有沒有更方便的方法?
作者:
owen06
時間:
2014-3-4 14:53
回復
1#
peellau
用application.ontime去自動執行更新
在a工作表裡的thisworkbook輸入
Private Sub Workbook_Open()
Call 更新
End Sub
複製代碼
在a工作表模組裡新增
Sub 更新()
T1 = Now + TimeSerial(0, 0, 1)
range("xxxxx").QueryTable.Refresh BackgroundQuery:=False '=>這裡可以改成你自己要的方式
Application.OnTime T1, "更新"
End Sub
複製代碼
TimeSerial(0, 0, 1)是表示一秒更新一次
時 分 秒
作者:
peellau
時間:
2014-3-4 16:38
本帖最後由 peellau 於 2014-3-4 16:39 編輯
回復
3#
owen06
owen06 您好 我有嘗試把您的程式碼貼上去
THISWORKBOOK:
Private Sub Workbook_Open()
Call "更新"
End Sub
MODULE1:
Sub 更新()
T1 = Now + TimeSerial(0, 0, 1)
Range("l2:l20000").QueryTable.Refresh BackgroundQuery:=False
Application.OnTime T1, "更新"
End Sub
但會出現應用程式或物件定義上的錯誤@@ 不知道這是什麼問題 嘗試用奇他方法也會這樣
偵錯是指向這行 Range("l2:l20000").QueryTable.Refresh BackgroundQuery:=False
作者:
owen06
時間:
2014-3-4 22:57
回復
4#
peellau
如果沒錯的話,應該是因為在模組裡的程式,必需給他指定一個明確的路徑,才有辦法正確執行,
不然他不知道該去哪執行這個指令,所以你必需再加個sheet("x").range("i2:i20000"),應該就能正常執行了,
因為我不確定你的檔案內容,但我用匯入web資料的時候,都只要在資料的第一格去按右鍵就能點選更新資料,
所以如果你那樣執行有問題的話,試著用range("i2")就好了看看
作者:
huijuang
時間:
2014-3-6 15:25
回復
4#
peellau
THISWORKBOOK:
Private Sub Workbook_Open()
Call "更新"
End Sub
MODULE1:
Sub 更新()
T1 = Now + TimeSerial(0, 0, 1)
Range("l2:l20000").QueryTable.Refresh BackgroundQuery:=False
Application.OnTime T1, "更新"
End Sub
將Range("l2:l20000").QueryTable.Refresh BackgroundQuery:=False
改為 ActiveWorkbook.UpdateLink Type:=xlExcelLinks
再試試看
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)