- 帖子
- 913
- 主題
- 150
- 精華
- 0
- 積分
- 1089
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- office 2019
- 閱讀權限
- 50
- 性別
- 女
- 註冊時間
- 2011-8-28
- 最後登錄
- 2023-7-19
 
|
37#
發表於 2020-2-21 21:35
| 只看該作者
回復 36# 准提部林
准大好,
程式改為With Range(xH, xR(0, 0)): .Calculate: .Value = .Value: End With 現在正常了!真謝謝你..
我在工作時,用到不少程式及公式,因為作業時間是以秒計的,不得不用手動計算,所以我才會一步步改成程式,希望可以縮短等待時間,不然有時候excel會當掉,不然就是時間太久,我會被殺了....
我看到Sub TEST_2,有訂購數的加總功能,請問Sub TEST_1可以這樣做嗎?但是加總後我想值化,不要有公式...- Sub TEST_1()
- Dim R&, Arr, Brr, i&, S&(1 To 2), V1, V2, C%
- R = Cells(Rows.Count, "K").End(xlUp).Row
- If R <= 2 Then Exit Sub
- Arr = Range("K2:Q" & R)
- Brr = Range("M2:N" & R)
- For i = 1 To UBound(Arr)
- If Arr(i, 1) = "品名" Then Erase S: C = 1: GoTo 101
- If Arr(i, 1) = "合計" Then
- Brr(i, 1) = S(1) '箱數合計
- Brr(i, 2) = S(2) '瓶數合計
- Erase S: C = 0: GoTo 101
- End If
- If C = 1 Then
- Brr(i, 1) = "": Brr(i, 2) = ""
- V1 = Val(Arr(i, 6)) '包裝數
- V2 = Val(Arr(i, 7)) '訂購數
- If Arr(i, 2) = "" Or V1 = 0 Then GoTo 101
- Brr(i, 1) = Int(V2 / V1) '箱數
- S(1) = S(1) + Brr(i, 1) '箱數累計
- Brr(i, 2) = V2 Mod V1 '瓶數
- S(2) = S(2) + Brr(i, 2) '瓶數累計
- End If
- 101: Next i
- Range("M2:N" & R) = Brr
- End Sub
複製代碼 |
|