返回列表 上一主題 發帖

[發問] 求救高手,vba計算上一直計算錯誤

資料來源=裝板單2
亦即必須先更新"裝板單2", 才能後續處理,
比之前的更繁複, 共有四個狀態, 需要設更多的變數,
寫得自己也亂了, 以後若要更改, 也要花許多時間,
畢竟要重新解讀自己寫的邏輯及規則, 通常...過一兩天就忘了寫什麼:
XX20211207編出貨板x4-v1.rar (50.09 KB)

TOP

回復 31# 准提部林

感謝板大,我研究看看,好厲害的寫法,真的還要多加的學習,再次的感謝

TOP

回復 31# 准提部林

抱歉板大,有重複箱號是修改這一段嗎?還是Brr公式那部分
  1. If Px > 0 Then '(2)有餘量--板號相同
  2.        Pv = S2 - Px: If Pv > V Then Pv = V
  3.        C = Int((Pv + S1 - 1) / S1)
  4.        Call 寫入BRR(T$, Pv&, C&, TT$, TV&, Cx$, Cn&, U&, Un&, N&)
  5.        Px = (Px + Pv) Mod S2
  6.        V = V - Pv: TV = TV + Pv: Cn = Cn + C: N = N + 5
複製代碼

擷取.PNG (20.34 KB)

擷取.PNG

XX20211211編出貨板x4-v1.rar (57.63 KB)

TOP

多做了一個動作, 再看看:
XX20211207編出貨板x4-v2.rar (56.05 KB)

TOP

回復 34# 准提部林
準提板大,如果我要改變起始箱數(不論是單裝板123,我可以先設定Cn=cells(1,16)或是設定一個值例如XX=Cells(1,16)
例如X1 = "KEC4-" & Cn + 1+C+XX
這邊來做修正嗎?
  1. For j = 1 To 3
  2.         C = Cr(j): Km = Int((C + sb - 1) / sb): If C > sb Then C = sb
  3.         If C > 0 Then CK = 1
  4.         For k = 1 To Km
  5.             N = N + 1:  P = C * 20
  6.             Crr(N, 3) = Arr(i, 1): Crr(N, 4) = P: Crr(N, 5) = C
  7.             X1 = "KEC4-" & Cn + 1: X2 = "KEC4-" & Cn + C
  8.             Crr(N, 6) = X1 & IIf(C = 1, "", "-" & X2)
  9.             Cn = Cn + C
  10.             Crr(N, 7) = Int((Cn - 1) / sb) + 1
  11.             X1 = T & Format(TV + 1, "000000"):  X2 = T & Format(TV + P, "000000")
  12.             Crr(N, 10) = X1 & "-" & X2
  13.             TV = TV + P: N = N + 1
複製代碼

TOP

回復 35# wsx1130
準提板大,我已經修改好了,我再多設了一欄If Cn = 0 Then Cn = xx可以執行
謝謝

TOP

多做了一個動作, 再看看:
准提部林 發表於 2021-12-11 23:30


不好意思,準提板大
我利用裝板單3修改一個修改裝板單4
但在外箱的數量也一值無法算出要的數量(EX),數量的那欄也無法以1080為單位進行切換
再麻煩幫我看一下,哪個地方寫得有問題

另外之前的裝板單3,最後的一個都會計算成餘數,不是補前袋數,是Px這欄位要修改嗎?

XX20211220編出貨板x4-v1.rar (63.82 KB)

TOP

多做了一個動作, 再看看:
准提部林 發表於 2021-12-11 23:30

不好意思,準提板大
我利用裝板單3修改一個修改裝板單4
但在外箱的數量也一值無法算出要的數量(EX), ...
wsx1130 發表於 2021-12-20 19:52


與有點反過來之前都是要先以棧板數來算可放數量,但這是每欄位總數量最多1080
  1. If V + C * sb + Pv < st Then
  2.        Crr(N, 7) = "合併"
  3.        Else
  4.        Crr(N, 7) = -Int(-(V / st))
  5.        End If
  6.        Cn = Cn + 1
複製代碼
我另加了這段,但計算到後面還是會有箱號超過總數,在麻煩您有空幫看看
謝謝

TOP

回復 37# wsx1130

邏輯都差不多, 自己再抓看看:
XX20211220編出貨板x4-v1.rar (63.71 KB)

TOP

回復 39# 准提部林
非常感謝准提版大,我再仔細看您的計算邏輯,真的好厲害
有些地方真的還要多學習,謝謝

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題