在設置范圍名稱以將報表連接到Excel數據庫的第1部分中,我們看到了為什么一個工作簿中的公式引用另一個工作簿中的單元格地址不是一個好主意。而是,您的公式應鏈接到數據庫工作簿中的范圍名稱,如下所示:A1:= SUM(Database.xls!Data)這是對引用單元地址的一種改進,但這還不是故事的結局。原因如下:當您在公式中看到諸如“ Database.xls!Data”之類的簡短引用時,您就會知道Excel將數據庫工作簿識別為在Excel中打開的工作簿。但是,如果報表工作簿中的公式無法將數據庫識別為開放工作簿,則公式中的引用將類似于以下內容:A1:= SUM(’E:\ Data \ MyStuff \ Database.xls’!Data)
有時,這些鏈接可能會損壞。也許您將數據庫文件移動到硬盤上。也許您重命名該文件。也許您將報表工作簿移到另一臺計算機上。也許您用搜索和替換命令不小心損壞了鏈接文本。隨你。根據您設置報告工作簿的方式,此損壞可能是次要問題或主要問題。如果您的報表工作簿中有成千上萬的公式具有損壞的數據庫工作簿鏈接,這可能會成為一個主要問題。但是,如果我們再邁出一步,外部鏈接斷開將成為一個小問題。打開第1部分中介紹的Report.xls和Database.xls工作簿。在Report.xls中,創建范圍名稱DbData并將名稱定義為:= Database.xls!數據然后,在Report.xls中,為顯示的單元格輸入以下公式:A1:= SUM(DbData)考慮一下我們對這一簡單更改所做的工作。我們已經在報表工作簿中創建了一個范圍名稱,該范圍名稱指向數據庫工作簿中的另一個范圍名稱。然后,我們在公式中使用該新名稱。如果兩個工作簿之間的鏈接損壞,我們只需要修復該范圍名稱的定義即可;我們不必修復許多本來會使用外部鏈接的公式。而且,如果我們在數據庫工作簿中創建多個這樣的范圍名稱,則這些名稱很容易找到和修復,因為我們將所有這些名稱都以“ Db”(對于“數據庫”)開頭,就像在“ DbData”中一樣。當然,當報表工作簿中的公式看起來像…
= SUM(DbData)…比諸如…的公式更短,更容易使用= SUM(Database.xls!Data)因此,這是此步驟的底線:在范圍名稱中而不是在公式中設置對其他工作簿的引用。使用這些名稱的公式將更易于使用,鏈接中的任何問題也將更容易解決。最后,我們需要考慮的最后一件事。當我們要在一個數據庫工作簿中維護帶有數據的多個工作表時該怎么辦?我將在設置范圍名稱以將報表連接到Excel數據庫的第3部分中討論該主題。