彰化一整天的論壇

 找回密碼
 立即註冊
查看: 456|回復: 11

[問題] 將多個Excel的工件表合併成一個

[複製鏈接]
發表於 2017-2-23 12:16:45 | 顯示全部樓層 |閱讀模式
本帖最後由 luckysan 於 2017-2-23 12:27 編輯

老師, 我在您的部落格中練習了您"將多個Excel的工件表合併成一個"所提供的程式檔案"sheetsmerger",說明網頁:blog.bestdaylong.com/2008/10/excel.html,然後我想要保留最右側的計算公式,但是合併後,卻發現該最右側公式僅能參照第一列$I$1的格子.如此導致計算錯誤,全部必須手動調整,請問有無辦法修正"sheetsmerger" vba程式複製確實的計算公式呢?
再請您看下,謝謝!!

以下式測試結果取出錯之一:

例.jpg

金額.xls

44 KB, 下載次數: 86

回復

使用道具 舉報

發表於 2017-2-24 13:41:25 | 顯示全部樓層
luckysan 發表於 2017-2-24 12:36
老師如附件~
當然最好的方式是vba可以做調整 哈

謝謝,這樣也是一種解決方法,vba沒有辦法去解決在公式中相對與絕對位置的問題,
因為這樣的組合太多,無法用邏輯判斷去解決,只有人才有辦法去看出那裡有問題.

點評

恩恩是的老師, 人活用函數工具是解決辦法最好的方式: > 謝謝您的指導~  發表於 2017-2-24 14:31
回復 支持 1 反對 0

使用道具 舉報

發表於 2017-2-23 17:34:52 | 顯示全部樓層
本帖最後由 imingho 於 2017-2-23 17:40 編輯

您好,
    那是因為您的公式中使用了絶對位置,所以沒辦法自動變成您要的結果,
您自己用手動複製應該也是會有此問題。除非您選用複製貼上值的方式就可以。
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-2-23 19:35:57 | 顯示全部樓層
imingho 發表於 2017-2-23 17:34
您好,
    那是因為您的公式中使用了絶對位置,所以沒辦法自動變成您要的結果,
您自己用手動複製應該也是會 ...

老師, 請教您有甚麼方式可以設定嗎? 需要在我一開始的活頁簿檔案中,將該欄位調整計算方式嗎?
回復 支持 反對

使用道具 舉報

發表於 2017-2-23 22:38:20 | 顯示全部樓層
luckysan 發表於 2017-2-23 19:35
老師, 請教您有甚麼方式可以設定嗎? 需要在我一開始的活頁簿檔案中,將該欄位調整計算方式嗎? ...

在我的合併工作中,將貼上值設為Y
sheetsmerger_value_01.jpg

1.紅色的對方設為Y

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-2-24 09:00:18 | 顯示全部樓層
imingho 發表於 2017-2-23 22:38
在我的合併工作中,將貼上值設為Y
1.紅色的對方設為Y

老師,謝謝,但我還是想用N,保留原始的計算公式於合併後的檔案中,沒關係我在手動調整,感謝您的答覆!!
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-2-24 09:47:38 | 顯示全部樓層
本帖最後由 luckysan 於 2017-2-24 09:59 編輯

找到解決的方式,從原始活頁簿做調整,另外將I欄第一格顯示的數值單獨挪動到新工作表,再利用IF條件在每個工作表設判斷顯示值的公式,然後將在下方每個儲存格的乘的改為相對欄和絕對列(混合參照)$在中間,就可以了!!




1.另設工作表

1.另設工作表

2.每個工作表判斷顯示值

2.每個工作表判斷顯示值

3.下方乘以相對欄和絕對列混和參照

3.下方乘以相對欄和絕對列混和參照
回復 支持 反對

使用道具 舉報

發表於 2017-2-24 10:07:58 | 顯示全部樓層
luckysan 發表於 2017-2-24 09:47
找到解決的方式,從原始活頁簿做調整,另外將I欄第一格顯示的數值單獨挪動到新工作表,再利用IF條件在每個工作 ...

可以上傳您改過的範例excel檔案嗎?我來研究看看.謝謝..
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-2-24 12:36:33 | 顯示全部樓層
imingho 發表於 2017-2-24 10:07
可以上傳您改過的範例excel檔案嗎?我來研究看看.謝謝..

老師如附件~
當然最好的方式是vba可以做調整 哈

test.xls

82.5 KB, 下載次數: 100

修改檔案去符合sheetmerger vba跑出保留公式的結果

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2018-8-10 09:55:50 | 顯示全部樓層
老師,我使用您這個成sheetsmerger程式; 請問這支程式能否修改成將每張工作表每一列一有資料就合併而不特地去設定"結束copy列數(0代表系統自動偵測)" ? 比如說我一開始設定結束copy列數為350, 現在假設第一個工作表有346列(有些欄有資料,有些沒有); 但合併到第二個工作表時,第二個工作表只有30列(一樣有些欄有資料,有些沒有)有資料,但卻要結束copy列數到350列,這樣接續合併第三個工作表時,在第二&第三工作表間會有320列空白列的間隔, 還要去刪除, 即使我今天使用 [到]  刪除空格,或者用篩選來刪選出空白列一起刪除, 仍舊會無法刪除我想要刪除的空白列,因為不是每一欄都有資料,也不是每一列都有資料..

以上不曉得是否描述清楚...
再請您解答
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-8-21 21:43 , Processed in 0.126210 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表