2015-10-06 98 views
0

我現在有這個VBA -複製/粘貼數據到其他現有工作簿上的計時器

Sub StartTimer() 

Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc" 

End Sub 

Sub AutoCalc() 

Application.CalculateFull 

Sheets("Kine").Range("B603:E603").Copy _ 
Destination:=Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1") 

Application.OnTime Now + TimeValue("00:00:15"), "AutoCalc" 

End Sub 

的.OnTime命令而未複製/粘貼部分,這是偉大的工作完美。

這給了我一個SQL查詢中將自動更新的值列表,以及每列值的底部的平均值。

我試圖設置它,以便平均值將自動添加到Minitab中的列上,但我相信宏正在停止Minitab中的自動更新。

所以我的想法是將平均值複製粘貼到一個沒有自己的宏的Excel工作簿中,然後將其鏈接到Minitab。

我是否在複製粘貼代碼中存在錯誤,或者是否存在需要存儲宏以及如何存儲宏的問題?

快速編輯 - 我應該補充說,當前的代碼給出了「運行時錯誤9,下標超出範圍」,並突出顯示覆制/粘貼代碼。

+0

你需要有其他的Excel文件打開這個工作,檢查[如何將數據從另一個工作簿複製(EXCEL )?](http://stackoverflow.com/questions/482717/how-to-copy-data-from-another-workbook-excel)爲同樣的問題,和一個解決方案。 – agold

+0

我在您發佈的帖子中探索答案,但它似乎並不是同一個問題。這兩個Excel文件保持打開。我已經嘗試在新的工作簿中將單元設置爲外部參考,但我認爲由於通過宏更新了值,所以存在問題。這就是爲什麼我試圖找出複製方法,只是不知道爲什麼它不會工作。 – Jamsandwich

+0

目標工作簿的文件格式是否重要? – Jamsandwich

回答

2

我找到了解決方案。

我的目標工作簿是在單獨的窗口中打開的,所以源代碼並不認爲它是開放的。噩夢的一點!

有必要在Excel的同一個實例中打開這兩個工作簿。

此外,我的原始粘貼代碼只粘貼「#REF」。我改變了 -

Workbooks("AutoImportAverages.xlsx").Worksheets("AvgKine").Range("B1:E1").PasteSpecial xlValues 

工作得好多了。

還有一件事,如果有人可能會覺得它有用。源工作簿必須處於活動狀態才能執行自動更新。

添加以下線整理出來的大部分問題,雖然它仍在進展中的工作 -

ThisWorkbook.Activate 
相關問題