[算表] 用VBA語法寫SUMIF函數

作者: hp19910110 (融兒)   2014-06-14 22:53:00
軟體: excel
版本: 2007、2010
我有一個編輯用表 : http://ppt.cc/n~~y
還有一個進貨數量表 : http://ppt.cc/OSH-
因為每天都需要把進貨數量KEY進編輯用表裡
但進貨數量表每天都會有新的一份,
且數量會增增減減,項目也會不定期增加、減少
同一個貨品進貨的數量可能分成兩筆或兩筆以上的項目
要每天一個一個輸入實在太花時間了
目前是每天用SUMIF函數在統計
但每天也還是要花一小時左右處理
還是希望可以用VBA語法寫SUMIF函數
不過不曉得該怎麼寫QQ
不曉得有沒有人可以幫幫忙 ?
作者: soyoso (我是耀宗)   2014-06-14 23:23:00
想到的是用Application.Evaluate試試http://goo.gl/dAi9kH 檔案,測試時也請將進貨數量_140529.xlsx 開啟
作者: hp19910110 (融兒)   2014-06-14 23:50:00
如果進貨數量表內有編輯表內沒有的品項會有影響嗎?!目前測試好像不會有影響XD另外想請問在編輯用表內想讓他自動更新可否用快速鍵?!
作者: soyoso (我是耀宗)   2014-06-14 23:55:00
可按alt+f8,選項來設定巨集的快速鍵
作者: hp19910110 (融兒)   2014-06-14 23:57:00
了解!感謝!如果編輯用表有test1的表格(格式同test),只是品項不同,這種情況要怎麼修改VBA語法讓他適用呢?!我嘗試複製原本的VBA語法,直接貼在下方,把test改成test1就可以了XD 如果sheet的數量太多會不會影響執行程序的速度呢?!(假設sheet到test10之類的)
作者: soyoso (我是耀宗)   2014-06-15 00:04:00
請將Sheets("test").刪掉,就會以開啟的sheet來run,應該比較好;因為寫入只是資料而沒有公式運算覺得應是不會影響執行的效能
作者: hp19910110 (融兒)   2014-06-15 00:11:00
真是太感謝S大了!! 幫了一個大忙^^
作者: soyoso (我是耀宗)   2014-06-15 00:13:00
^^
作者: hp19910110 (融兒)   2014-06-15 00:20:00
出現問題了XD 實際套用到我正在使用的表格後他沒辦法正常執行@@~ sheet名稱非test會有影響嗎?!
作者: soyoso (我是耀宗)   2014-06-15 00:22:00
和sheet名稱比較沒有關係,和儲存格的位置,要參照的檔案會比較有關係
作者: hp19910110 (融兒)   2014-06-15 00:23:00
編輯用表格式都一樣,只有圖番不同進貨數量格式也都一樣,只是多了D到O欄位
作者: soyoso (我是耀宗)   2014-06-15 00:24:00
也和參照的檔案內的工作表名有關,原本設定的是[進貨數量_140529.xlsx]Sheet1
作者: hp19910110 (融兒)   2014-06-15 00:24:00
工作表名我有更改了!
作者: soyoso (我是耀宗)   2014-06-15 00:26:00
如果是多D到O的話那請看一下DateRng的範圍
作者: hp19910110 (融兒)   2014-06-15 00:27:00
D到O基本上不會用到@@~DateRng要怎麼改才會正常呢~?
作者: soyoso (我是耀宗)   2014-06-15 00:29:00
[C2]為date的最左邊的儲存格,Cells(2, Columns.Count).End(1)要取最右邊的儲存格因此要修改[C2]這個,如果不是第二列時再修要取右邊的那部分
作者: hp19910110 (融兒)   2014-06-15 00:34:00
有點不太懂@@~剛剛試著把C2改成O2但他只執行了1個sheet跑出來的結果也是怪怪的@@~
作者: soyoso (我是耀宗)   2014-06-15 00:36:00
要同時執行檔案內的全部sheet嗎?覺得還是提供新檔案的格式這樣也會比較清楚
作者: hp19910110 (融兒)   2014-06-15 00:38:00
作者: soyoso (我是耀宗)   2014-06-15 01:13:00
作者: hp19910110 (融兒)   2014-06-15 01:33:00
看起來沒問題!!! 感謝S大!!
作者: soyoso (我是耀宗)   2014-06-15 01:36:00
^^

Links booklink

Contact Us: admin [ a t ] ucptt.com