2014-01-31 70 views
0

我有一個工作簿,其中包含一張主表單,其中列出了所有組合資產和幾個子表單(列出有形資產,證券等)。爲了簡單起見,假設主表包含兩列:名稱和值。子工作表包括不需要傳送到主工作表的附加列(例如,獲取日期,基準等)。對於單個子工作表上的每個新條目,我想在主工作表上插入一個新行並將相關數據添加到單元格中。如何在Excel中自動將多個工作表中的單元格傳輸到一個主工作表中

證券工作表:

Name  Value Acquisition Date Basis 
AAPL  $450  1/8/2010   $211 
GE  $2,500 11/1/2011   $1,500 

有形資產工作表

Name  Value Insured 
Jewelry $6,000 Yes 
China  $1,200 No 

主表 - 綜合資產清單:

Name  Value 
AAPL  $450 
GE  $2,500 
Jewelry $6,000 
China  $1,200 

可以這樣使用Excel公式來完成,或將VBA是必需的?

任何有關處理此問題的最佳方法的建議都將受到高度讚賞。

謝謝。

+0

公式不能插入新行,因此您可能需要VBA。 – pnuts

+0

或者您可以使用一個數據透視表,並在要合併的範圍內留出足夠的空白行,以便捕獲新項目 - 如果您不介意在PT中出現「(空白)」或將其過濾出來,並在添加後刷新PT /變化。 – pnuts

回答

2

這可以通過使用獲取外部數據來實現(注意,儘管這個名字,這可用於工作簿中的自我參照)

這個答案是基於Excel 2010中如果你是使用不同的版本仍然有可能,但訪問這些功能的菜單可能會有所不同。

步驟:

  1. Master工作表,從數據選項卡,選擇獲取外部數據/自其他來源
  2. 選擇從Microsoft查詢
  3. 選擇數據源對話框,請選擇Excel文件*
  4. 選擇工作簿 diaog,選擇要在
  5. Microsoft查詢工作現在應該打開該文件,顯示添加表對話框
  6. 添加證券有形資產
  7. 來自有形資產,雙擊名稱價值將它們從菜單欄中
  8. 編輯所顯示的查詢將它添加到查詢

  9. 選擇SQL,並接受:

    (SELECT `'Tangible Assets$'`.Name, `'Tangible Assets$'`.Value 
    FROM `Securities$` `Securities$`, `'Tangible Assets$'` `'Tangible Assets$'`) 
    UNION 
    (SELECT `Securities$`.Name, `Securities$`.Value 
    FROM `Securities$` `Securities$`, `'Tangible Assets$'` `'Tangible Assets$'`) 
    
  10. 你會得到一個警告,SQL查詢可以不會以圖形方式顯示。選擇OK

  11. 選擇從文件菜單返回數據到Excel
  12. 選擇放置查詢的位置
  13. 完成!

現在,無論何時更新源數據表,刷新主查詢以獲取最新數據。

+0

我還沒有測試它,但它看起來優雅!我會記住它。我不知道你可以使用_Get External Data_進行自我引用。 –

+1

這看起來很不錯,簡單的解決方案。不幸的是,它似乎不適用於Mac,因爲Excel需要使用第三方ODBC管理器。 – Ken

相關問題