返回列表 上一主題 發帖

棘手的excel運算問題,如何改善??

回復 8# 准提部林
所以函數不能直接打在儲存格上面,要用VBA且執行完要馬上將公式轉成值,要不然一樣會拖慢速度

TOP

回復 9# 准提部林

大大可以說明一下用法和原理嗎??我看不太懂,抱歉
謝謝你的幫忙

TOP

回復 9# 准提部林

大大好厲害,但請教一下
1.是每分鐘都要自己按統計嗎??
2.按統計的過程中會造成EXCEL變慢嗎??
3.如果把它改成自動每分鐘統計一次可以嗎??

TOP

回復 7# c_c_lai


    C大我要的效果大概跟7樓大大的附件一樣你看一下

TOP

本帖最後由 c_c_lai 於 2016-1-27 15:31 編輯

回復 12# 藍天麗池
這是你原本的定義:
  1. S3
  2. =IF(SUMIFS($E:$E,$D:$D,S$1,$B:$B,$R2)=0,"",SUMIFS($E:$E,$D:$D,S$1,$B:$B,$R2))
  3. T3
  4. =IF(SUMIFS($E:$E,$D:$D,T$1,$B:$B,$R2)=0,"",SUMIFS($E:$E,$D:$D,T$1,$B:$B,$R2))
複製代碼
這是程式碼解析的結果:
  1. S3
  2. =IF(SUMIFS($E3:$E4903,$D3:$D4903,S$1,$B3:$B4903,$R2)=0,"",SUMIFS($E3:$E4903,$D3:$4903,S$1,$B3:$B4903,$R2))
  3. T3
  4. =IF(SUMIFS($E3:$E4903,$D3:$D4903,T$1,$B3:$B4903,$R2)=0,"",SUMIFS($E3:$E4903,$D3:$D4903,T$1,$B3:$B4903,$R2))
複製代碼
然後再轉為數值表示。

TOP

本帖最後由 c_c_lai 於 2016-1-27 16:15 編輯

回復 14# 藍天麗池
Function STSumifs(ByVal endST As Long, Optional startST As Long = 3)
1.  Optional startST As Long = 3 的用意,事先賦予預設值;
    例如:
    Sub Test()
        Dim WR As Long
   
        WR = Range("A1").End(xlDown).Row   '  最後一筆資料列
        STSumifs WR
    End Sub
    在 STSumifs 的函式中:
        For cts = startST To endST
    startST 等於 3, endST  等於 WR (4903)
    此時 STSumifs WR = STSumifs WR, 3 之意,
    Optional  的變數宣告,如未帶入值,則以其
   設定的預設值 (3) 為參數值。
    ***  這是一次就處理 3 ~ 4903 完畢。
     
2.  假設帶入值為:
    WR = Range("A1").End(xlDown).Row + 1 '  最後一筆資料列 + 1
    STSumifs WR, WR
    startST 等於 WR, endST  等於 WR (4094)
    ***  這是將資料寫入到資料錄的最後列。

TOP

回復 16# c_c_lai

哈哈,有點複雜,看不太懂,不過還是謝謝C大,我明天先來測試提大的看看

TOP

大概做個每分鐘〔自動統計〕,不足之處自行調整,
若與自動記錄DDE有衝突時,也請自行去排除!!
 
Xl0000328_v1.rar (82.17 KB)

TOP

回復 18# 准提部林
準大,我測試了一下昨天那個手動的版本,發現價格無法自動記錄了,可以請准大幫幫忙嗎??
小弟簡單的可以,但是這對小弟來說已經超出能力範圍了,感謝

TOP

回復 16# c_c_lai

C大,昨天7樓的附件經測試後無法記錄價格,可以請C大幫我看看嗎??

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題