2011-02-23 38 views
1

我正在將大量電子表格轉換爲使用新的第三方數據訪問庫(從第三方庫#1轉換爲第三方庫#2)。 fyi:對UDF(用戶定義的函數)的調用放在單元格中,當它被刷新時,它將數據拖入公式下方的數據透視表中。這兩個庫的行爲相同併產生相同的輸出,但可能會出現小的不規則,例如使用庫#2在輸出數據透視表中顯示的附加字段,如果正在從數據透視中讀取數據,則會影響工作表上的公式表格沒有使用GetPivotData。如何比較兩個並行運行的複雜電子表格以便彼此保持一致?

所以我有100個這樣非常複雜(每個工作簿20多個工作表)的電子表格,我必須進行轉換並且在一段時間內並行運行,以查看使用新數據訪問庫的輸出是否與舊圖書館。

有沒有一些聰明的方法來做到這一點,所以我不必花費大量的時間分析每張紙來確定要比較的特定元素?

浮現在腦海

兩個粗略的想法:
1.剛剛創建具有工作表的相同#A驗證工作簿,並簡單地做一個Worbook1 Worksheet1 A1 - Worbook2 Worksheet3 A1爲每個一切可能的細胞!!!!工作表
2.大致相當於#1,但只是使用VBA遍歷2本書中的單元格,並記錄任何不匹配的單元格。

我不是特別喜歡這兩種想法,任何人都可以想到比這更好的東西,也許我可以買到一些第三方實用程序?

回答

1

聽起來像是一次嚴肅的基礎重新設計,而不是交換數據訪問庫。
但是,要解決您的問題:
- 我不認爲有第三方實用程序來執行此操作。
- 使用變體陣列來獲取每個工作表的使用範圍的VBA方法只要不嘗試遍歷工作表的單元格,就會非常容易。

+0

「使用變體數組來獲得使用範圍」....你可以發佈這個代碼片段嗎?我已經編寫了代碼,現在可以逐個單元格地工作,但是如果一個變體數組的速度會更快,那就太好了! – tbone 2011-02-24 16:39:52

+0

從工作表中獲取二維變體陣列
dim vArr作爲變體
vArr = oSht.UsedRange – 2011-02-24 18:07:22

+0

有幾個第三方實用程序,但它只是簡單地自己推出。 – tbone 2011-03-01 20:54:01