返回列表 上一主題 發帖

程式練習

回復 10# myleoyes

TEMP = Right([Q78], Len([Q78]) - 2)
[Q79] = [Q79] - TEMP

Y = Year(Now()) - 2012
If Month(Now()) = 1 Then [CF3].Offset(Y, 0) = 300
[CF3].Offset(Y, 0) = [CF3].Offset(Y, 0) - TEMP

2段程式
但不知該放入 查帳 或 增減資

TOP

回復 11# register313
前輩!2段程式 但不知該放入 查帳 或 增減資
     小弟也迷糊囉!看說明(無法儲存檔案到 TEMP 目錄 (錯誤 735))
     也無法完全了解前輩的意思,那就依小弟的想法說明如下
     先說明附檔的程式與儲存格內容只適用模擬用途
     Case "Q80"必須如下程式才正確
             X = [O78] = "交易區" And [Q78] <> "賣未入帳" And [Q78] <> "買未扣款" And [Q78] <> "帳戶" And Month(Now()) <> Month(Now() + 1)
If X Then 查帳
     Sub 增減資()
         [CF3]原方式
         [CF3] = "=" & [CF3] & "-" & [Q78]
         執行後CF3=240-40
         問題是程式無法接受這種型態
         大概是Q78是公式非數字原因罷!
         再則需求是CF3=300-10-20-30-40
         同時也無法適用下一年度所以要修改
         至於之前CF3=300-10-20-30就不用管它
         只要將每月的數字往後寫入即可,好比4月~5月..等等
         CF3=300-10-20-30-40(4月)-50(5月)..小弟是如此想
         [Q79]原方式
         [Q79] = [Q79] - [Q78]
         程式無法接受這種型態
         大概是Q78是公式非數字原因罷!
         依前輩程式是正確 TEMP = Right([Q78], Len([Q78]) - 2)
         [Q79] = [Q79] - TEMP
       End Sub
       跨年問題小弟想法將跨年程式獨立出來比較單純
         Private Sub Workbook_Open()
            If Month(Date) = 1 And Day(Date) = 1 Then 跨年
         End Sub
         Sub 跨年()
             Y = Year(Now()) - 2012
             [CF4].Offset(Y, 0) = [CF3]
             大概這意思可以往下寫[CF5],[CF6]...等等
         End Sub  
       對不起!真的辛苦你囉!請再指導謝謝再三!!

LeoV62-1-03版.rar (17.68 KB)

TOP

回復 12# myleoyes

LeoV62-07版.rar (24.29 KB)
我用上一次的檔案去修改的,試試看
最大的關鍵是 1.所要的功能是什麼  2.邏輯問題 3.程式語法不是問題

目前功能:
1月最後一日,按Q80  =>  Q78=月入5,  CF3=300-10=290
2月最後一日,按Q80  =>  Q78=月入10,CF3=300-10-20=270
3月最後一日,按Q80  =>  Q78=月入15,CF3=300-10-20-30=240
...
明年1月最後一日,按Q80  => Q78=月入5,    CF4=300-10=290
明年1月最後一日,按Q80  => Q78=月入10,  CF4=300-10-20=270

不了解的是:
300是什麼
1月最後一日,按Q80  => Q78就變成"賣未入帳", 那 2月最後一日,按Q80不是也沒作用

TOP

回復 13# register313
前輩!1月最後一日,按Q80  => Q78就變成"賣未入帳",
     那 2月最後一日,按Q80不是也沒作用
     這不用擔心實際的檔案O79與P79的公式與程式會自動平衡
     不會發生Q78就變成"賣未入帳"的情況,不能按Q80鈕
     因為範例實在無法模擬真實狀況又忘了告訴你很抱歉
     1,按Q80鈕按必須條件已確定,請暫不用想它沒作用
     2,1月最後一日,按Q80  => Q78=月入5,CF3=300-10=290
       這裡是小弟疏忽,因為03版Q78無法用公式
       所以直接用數字心想1月份用10,2月份用20比較容易記
       卻忘了原本公式的數據1月份是5實在傷腦筋歹勢啦!
       不管是月入10或月入5,CF3=300-10或CF3=300-5是公式型態
       而非前輩的CF3=300-10=290值型態這是重點
     3,300是什麼?300是假設101/1/1投入的資金,現在是4月份
       開始記錄所以必包含1~3月份的數字因此
       CF3=300-10-20-30-40(03版)或CF3=300-5-10-15-20(07版)
     再附檔說明
     1,請先看動畫檔,再開檔案比較容易明白
     2,Leov62-07B檔內的P79的數字不用理會它的存在
       那是配合模擬用的
       對不起!真的辛苦你囉!請再指導謝謝再三!!

LeoV62-07版b.rar (25.35 KB)

Leov62-07B.part1.rar (878.91 KB)

Leov62-07B.part2.rar (789.91 KB)

LeoV62-07版b.rar (25.35 KB)

TOP

回復 14# myleoyes

要從2012年1月開始測試,有不合需求的地方要告訴我
  1. Sub 增減資()
  2.     Money = 300                                           '2012年一開始的增減資
  3.     XX = Right([Q78], Len([Q78]) - 2)                     '取出每個月月底的Q78的月入XX中的XX(數字)
  4.     [Q79] = [Q79] - XX                                    '每個月月底的Q79=Q79-XX
  5.     Y = Year(Now()) - 2012                                '計算目前年份與2012年相差Y
  6.     '=================================================
  7.     If Month(Now()) = 1 Then                              '如果月份為1月月底
  8.       If Year(Now()) = 2012 Then                          '如果年份為2012年設定CF3=Money=300
  9.         [CF3] = Money
  10.       Else: [CF3].Offset(Y, 0) = [CF3].Offset(Y - 1, 0)   '如果年份為2013年設定CF4=CF3,年份為2014年設定CF5=CF4
  11.       End If
  12.     End If
  13.     '=================================================
  14.     [CF3].Offset(Y, 0) = [CF3].Offset(Y, 0) - XX          '2012年每個月月底CF3=CF3-XX,2013年每個月月底CF4=CF4-XX
  15. End Sub
複製代碼
LeoV62-07版.rar (25.06 KB)

TOP

回復 14# myleoyes

       myleoyes 你的東西~ 之前有寫過~ 都蠻複雜的~
       很想研究一下你要的東西~ 可惜~ 現在工作較忙~
       沒有時間來研究~ 真是殘念~
       不過也給你打氣~  希望你的問題能夠被解決~
學習才能提升自己

TOP

回復 15# register313
前輩!程式的流程與數字完成正確
     需修改的如下!
     1,前輩!忘了小弟一再強調的CF欄要的
     CF3=300-5-10-15-20 是公式的型態
     而非CF3=300-5=295 是值的型態
     CF欄為何要公式的型態呢?
     因為一筆的一筆的記錄流程萬一數字錯誤
     就很容易解除問題
     2,當跨年時前輩的程式要在月底執行
     查帳才產生102年的日期這樣子
     檔案的其他程式都得停擺
     因為檔案起始點就是BY欄的日期然而
     BY4=IF(CF4="","",IF(BY4<>"",BY4,EDATE(BY3,12)))
     所以CF4是主導者怎能在月底才出現呢?
     以上兩問題請再辛苦囉!謝謝再三!!

TOP

回復 16# hugh0620
前輩!謝謝你的鼓勵...其實問題並非複雜
只是自己能力差又不善表達常常累壞各位
大大實在感到殆勢萬分!!謝謝大家!!

TOP

回復 17# myleoyes
借CG欄一用
請從101年年初開始操作
LeoV62-07版.rar (25.53 KB)

TOP

回復 19# register313
前輩!
     請看你的智慧....是否也為自己感到驕傲呢?哈哈!!
     未來的夢想將會在彈指之間實現
     這就是願景...檔案自動化,生活化是必然的趨勢
     你超厲害!真的太感恩也太辛苦你囉!
     除了謝謝...還是謝謝再三!!

夢想成真.gif (216.39 KB)

夢想成真.gif

TOP

        靜思自在 : 盡多少本份,就得多少本事。
返回列表 上一主題