返回列表 上一主題 發帖

[發問] 多條件計算交易明細

回復 8# 准提部林
准大好~
又勞煩您出手幫忙了,我抽空測試後再給予回饋,
百忙之際還幫忙註解及協助,大恩不言謝...

TOP

稍修:
1) A6"資訊"兩字前有空格, 加入TRIM去除
2) 增加工作表簡碼對照表
3) "自調"金額與你模擬有出入, 已修改, 可再自行調修
4) 取得來源工作表(排序後加入陣列), 捨棄字典用法, 避免工作表太多, 使字典帶太多陣列資料而佔用資源,
   改用"當工作表名稱改變時"才執行排序取陣列, 所以, 同一工作表的順序必須連續, 才不用一直反覆排序!!

Xl0000108v02.rar (72.51 KB)

TOP

本帖最後由 shuo1125 於 2023-12-18 13:46 編輯

回復 12# 准提部林
准大好~
剛開始試著理解#8的代碼,又馬上給了另一方式..
#8基本上已經完成近90%....唯一需要調整只是因為原提供邏輯未完善造成。
您的思路細膩,字典嵌套用的高段...
原代碼調試了兩段:
-----------------------------------------------------
一)
收入上期自調=只看摘要有"上期"的貸方金額
        S1 = InStr(Arr(i, 10), "上期"): S2 = InStr(Arr(i, 10), "本期") '判斷為前期/本期
        If (InStr(Tx(2), T) > 1) * (S1 > 0) Then
           Brr(2)(M, 0) = Brr(2)(M, 0) + V17 '02.自調i
        End If
收入本期自調=只看摘要有"本期"的借方-貸方金額
        If (InStr(Tx(2), T) > 1) * (S2 > 0) Then
           Brr(3)(M, 0) = Brr(3)(M, 0) + V16 - V17 '03.自調j
        End If
二)
進貨的暫估位置稍反
          If (P1 = 0) + P2 Then Brr(7)(M, 0) = Brr(7)(M, 0) + V16 - V17 '07.進貨(未稅)(B)
           If P1 > 0 Then
          Brr(6)(M, 0) = Brr(6)(M, 0) + V17 '06.上期暫估金額(A)
-----------------------------------------------------
另想請問....若該月無交易的金額要顯示0該如何做?
謝謝您~

TOP

回復 13# shuo1125

另想請問....若該月無交易的金額要顯示0該如何做?

定義Xrr的型態//
若都整數:
Xrr(1 To 12, 0) As Long
若有小數又比較適合財務數字:
Xrr(1 To 12, 0) As Currency

TOP

本帖最後由 shuo1125 於 2023-12-18 14:01 編輯

回復 14# 准提部林
准大好~
...忘記這方式就可以,感謝您的指導!
Xrr&(1 To 12, 0)。

TOP

回復 13# shuo1125

S1 = InStr(Arr(i, 10), "上期"): S2 = InStr(Arr(i, 10), "本期") '判斷為前期/本期

S1/S2...可沿用P1/P2, 它是隨用隨動的 不會有衝突, 免得變數太多維護不易//

TOP

回復 16# 准提部林
准大好~
我想得太淺...感謝指導!!(您以立沖帳來看更直覺)
該表單我後續還有增加實科目的餘額,不過實科目較單純,直接抓該月餘額而已。
因目前只抓虛科目的交易,您提供的模板及方式,我再自行調適看看...
太感謝一直以來的幫忙了!!!

TOP

本帖最後由 singo1232001 於 2023-12-18 18:08 編輯

Xl0000108v02v3.zip (113.46 KB) 回復 17# shuo1125


之前有做過一個查詢介面  剛好趁這次練習一下

[

TOP

本帖最後由 singo1232001 於 2023-12-18 22:19 編輯

回復 17# shuo1125


        修正一些功能  增加排除字 跟說明
目前只有表名中含有 "明細表"的 表才會被篩選

[聯集交集] O滿足任一條件 , X全部條件滿足
[順排0逆排1] 該欄位 0-順排  1-逆排  空白-不排列 (只能選一欄 )
[模糊;;] 模糊比對        [完整;;] 完整比對
[小於] 數字小於         [大於] 數字大於
[模糊排除字] 排除掉某個字
其他1: 任一欄位 ;;符號 多條件 (大小於不可用) 滿足其一就有
其他2: 篩選順序是由上到下
其他3: 全部留空 全部顯示
其他4: 黑色部分 輸入無效    (再次點擊說明可關閉)

這種方式 就是把 SQL語法 動態化
改關鍵字 語法就會變化 大概是這樣的作法
大概就是一個 強化版的篩選功能  能排除字 合併表 模糊比對  大小於 順便排序
但我沒有深入測試 或許有bug

Xl0000108v02v6.zip (109.63 KB)

TOP

回復 19# singo1232001
慶大好~
感謝分享,之後若開始研究SQL這會是很好的範本可參閱。
謝謝您了!!

TOP

        靜思自在 : 並非有錢魷是快樂,問心無愧心最安。
返回列表 上一主題