[算表] vba合併儲存格加總

看板Office作者 (深色憂鬱的心)時間10年前 (2015/05/31 11:42), 編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
軟體: excel 版本: 2010 最近碰到一個合併儲存格的問題 我現在在sheet1有一個總表,想在sheet2輸入自動貼到sheet1並且更新 就很像有"過帳入庫"的概念 因為筆數很多,有時候怕漏打看錯 範例如下 在sheet1 A B C D E 1 料號 批號 數量 合計 2 A101 33A02 20 30 <=這裡用合併儲存格把同料號合計 3 A101 33A03 10 4 B201 1A010 20 5 B201 2A010 5 40 <=這裡用合併儲存格把同料號合計 6 B201 3A012 15 7 8 在Sheet2輸入 A B C D E 1 料號 批號 數量 2 A101 3A010 5 3 B201 4A010 10 4 A101 3A011 20 按下過帳就會加到sheet1,SHEET1變成 結果: A B C D E 1 料號 批號 數量 合計 2 A101 33A02 20 <=這裡用合併儲存格把同料號合計 3 A101 33A03 10 55 4 A101 3A010 5 5 A101 3A011 20 6 B201 1A010 20 7 B201 2A010 5 50 <=這裡用合併儲存格把同料號合計 8 B201 3A012 15 9 B201 4A010 10 目前我都手動更新,現在因為入庫數量很多 不像以前只有10幾筆,都超過30筆以上 有的會漏掉,忘了加上去(因為看單據KEY),公司沒ERP 想請教各位高手有VBA可以解決嗎???謝謝 8 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.40.202.152 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1433043746.A.66F.html

05/31 11:57, , 1F
想到先取消合併(range.unmerge),排序(range.sort)
05/31 11:57, 1F

05/31 12:02, , 2F
接著取料號唯一值(range.removeduplicates)
05/31 12:02, 2F

05/31 12:02, , 3F
或是scripting.dictionary
05/31 12:02, 3F

05/31 12:05, , 4F
有唯一值就可range.find或是worksheetfunction.match來找
05/31 12:05, 4F

05/31 12:05, , 5F
料號首筆儲存格,range.resize配合
05/31 12:05, 5F

05/31 12:06, , 6F
worksheetfunction.countif就可取得範圍,再以這個範圍
05/31 12:06, 6F

05/31 12:07, , 7F
合併(merge),其中也會用到範圍偏移(range.offset)
05/31 12:07, 7F
文章代碼(AID): #1LQeCYPl (Office)
文章代碼(AID): #1LQeCYPl (Office)