返回列表 上一主題 發帖

[發問] 依據面額不同所需張數自動產生流水編號

回復 27# cypd


是的~~
給變數, 再引用陣列中的元素

TOP

回復 25# 准提部林

提問
公式中


TR = [{"A","F","B"}]
YR = [{64564,38000, 81140}]

    x = Switch(P = 100, 1, P = 200, 2, P = 500, 3, P = P, 0)

面額100是由A645645起算
面額200是由F38001起算   ???  (是這樣解讀嗎?)
面額500是由B81141起算

TOP

回復 25# 准提部林

非常感謝  准提部林  提供公式及 VBA 兩種方式做參考

唯一不解的是公式裡出現的 #VALUE! 之問題???

下圖是版主提供的檔案公式工作表呈現一樣的問題

TOP

若想100,200,500分別編碼:
Sub 流水編號()
Dim Arr, i&, P%, V&, N&, T1$, T2$, x%, TR, YR, SS&(3)
Arr = Range([c1], [b65536].End(xlUp)(1, 0))
TR = [{"A","F","B"}]
YR = [{64564,38000, 81140}]
For i = 3 To UBound(Arr)
    If Arr(i, 1) = "合計" Then Exit For
    N = N + 1: Arr(i - 2, 1) = ""
    P = Val(Arr(i, 2)): V = Val(Arr(i, 3))
    x = Switch(P = 100, 1, P = 200, 2, P = 500, 3, P = P, 0)
    If P = 0 Or V = 0 Or x = 0 Then GoTo i01
    T1 = TR(x) & Format(YR(x) + SS(x) + 1, "0000000")
    T2 = TR(x) & Format(YR(x) + SS(x) + V, "0000000")
    Arr(i - 2, 1) = T1 & IIf(T1 = T2, "", "-" & T2)
    SS(x) = SS(x) + V
i01: Next i
[d3].Resize(N) = Arr
End Sub

TOP

回復 23# cypd

2000版做的, 公式及vba各一:
XX20211213v01(分類流水號).rar (8.91 KB)

TOP

回復 20# 准提部林

剛剛測試 office 2010及2013版的版本皆為一樣的問題
是否能請 版主 准提部林  提供正確檔案參考...

TOP

回復 20# 准提部林

非常感謝  准提部林  指導

所述問題檔案是 office 2013 版本所製作產生
不知問題是否與版本有關?

TOP

回復 18# samwang

真是太神奇了  ^^
非常感謝  samwang  不吝指導...感恩

所述問題以迎刃而解還通用面額 200 or  500  之方式公式

再度感謝...水啦

TOP

回復 17# cypd


不知道是否檔案格式問題,
我這邊重新下拉公式, 或C3重新輸入, 都可以正常!!!

TOP

回復 16# cypd

18#除了更新列數問題,因為你的B欄除了500元有時又會有200元問題(代碼都是共用B開頭),也有更新此問題,謝謝

TOP

        靜思自在 : 君子立恆志,小人恆立志。
返回列表 上一主題