返回列表 上一主題 發帖

利用VBA 表單製作萬年曆?

回復 1# Jared


    1.印象中,論壇有 office專用月曆附件... 可以找看看。
    2.是否有考慮 潤年的潤二月?(28 29)
    3.呈現方式為?? 處發方式?

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 3# Jared






簡易版萬年曆
但會有  
1.   30 31 的判斷問題
2.   潤2月問題...
3.  物件隱藏問題
但以上問題相信依照您的能力可自己去添加

執行畫面


  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 7# GBKEE


    拍謝..  因為想說拍成一張 比較省空間...
下次會改建...

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 9# Jared

你這問題有可能是 循環內 你弄錯參數..

例如
k=1
for hwe = 1 to 31

    me.controls("optionbutton"& hwe ) = hwe

next

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復  mark15jill


大大
後來發現運算式都錯了
計算出來的天數都不對....>
Jared 發表於 2013-3-26 14:09



關於天數
這個我後來有發現
而且神奇的是....

我用VB.NET 和VBA  用同 計算式去跑..
結果VB.NET 完全正確..
VBA會莫名其妙錯亂..<天數對  星期錯亂>

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復  mark15jill
     星期錯亂: 你是用何函數
傳上程式碼看看
GBKEE 發表於 2013-3-26 17:02





    任何高深函數都沒用到... XDD

            Dim K1, K2, K3 As Integer
            Dim yy, dd, mm, wek, dss, dds31, dds30, dds2, dds28, dds29 As Integer
            Dim uny, unm, und, unym, unmd As String
            Dim weeks(6) As String

            DTP1 = DaTiPi.Text
            uny = InStr(DTP1, "年") - 1 : unm = InStr(1, DTP1, "月") : und = InStr(DTP1, "日") - 1
            unym = Mid(DTP1, uny + 1, unm - 5) : unmd = Mid(DTP1, unm + 1, und - 1)

            K1 = InStr(1, DTP1, "年") : K2 = InStr(1, DTP1, "月") : K3 = InStr(1, DTP1, "日")

            yy = Mid(DTP1, 1, K1 - 1) '年
            mm = Mid(DTP1, K1 + 1, (K2 - K1) - 1) '月
            dd = Mid(DTP1, K2 + 1, (K3 - K2) - 1) '日
            dss = 30 + ((mm + (mm > 7)) Mod 2) + (2 + (yy Mod 4 = 0) + (yy Mod 100 = 0) * (yy Mod 400 <> 0)) * (mm = 2) '日 二月專用
            dds31 = 31 : dds30 = 30  'dds 為  31日 和 30日
            dds2 = dss '日 二月專用

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復  mark15jill

萬年曆在現在的系統內已經是內建了
不用VBA日期函數計算星期幾,直接用基準日期間距 ...
Hsieh 發表於 2013-3-27 09:37



    Heish大大 ,印象中,好像2003 還是2007 還是2010 沒有所謂的 日曆  這元件..
    另外,若用 不用VBA日期函數計算星期幾,直接用基準日期間距 ...  
     很容易產生,潤2月的情形。
     而且 若是又牽扯到 需要製作農曆萬年曆,那會有 潤農曆月的問題
      呵呵

        抱歉,小弟無知,多言了。

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復  mark15jill
你好像繞了一圈.
回復  mark15jill
製作陽曆萬年曆與潤2月是沒有關係的
GBKEE 發表於 2013-3-27 13:17



    感謝 兩位大大的教導,小弟受教了。

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

        靜思自在 : 要用心,不要操心、煩心。
返回列表 上一主題