返回列表 上一主題 發帖

利用VBA 表單製作萬年曆?

利用VBA 表單製作萬年曆?

想請問各位大大
如果我想利用VBA表單功能來製作萬年曆
但就是不知道如何著手

網路上能搜尋到的資源
都是利用函數在Sheet 上面運算
有試過轉移到表單上面去執行

卻不知道少了什麼
表單的配置如下


希望有高人指點迷津,感激不盡>"<
Jared

回復 1# Jared


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

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

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

  少看=只看不做也枉然

TOP

本帖最後由 Jared 於 2013-3-25 15:59 編輯

回復 2# mark15jill

感謝大大回覆:)
如果是要利用表單自行寫程式
這樣可行嗎?
因為我在念書時老師有教過利用VB 來寫過
但已經距離我很久了...

觸發方式
當我選擇年(A)、月(B)後
底下的點選數字會浮現出來
小於1 & 大於31會隱藏起來
當然還有月份沒31號的也隱藏

至於潤二月(@@)..好像要套公式進去
這樣可行嗎??
Jared

TOP

回復 3# Jared






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

執行畫面


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

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

  少看=只看不做也枉然

TOP

本帖最後由 GBKEE 於 2013-3-25 20:34 編輯

回復 4# mark15jill
試試看

DSC00220[1].JPG.rar (13.38 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# mark15jill


    感謝大大大力協助
   畫面上呈現的跟我預想的一樣(0口0)"
  看來我真的修行不夠><
  原本我程式是寫這樣
   但程式就判斷找不到DAY_i.Caption 這個成員....
    繼續努力中...
Private Sub ComboBox2_Change()
If ComboBox1.ListIndex > -1 Then
    chang_day
    a = DateSerial(ComboBox1.Value, ComboBox2.Value, 1)         '本月起始日
    b = DateSerial(ComboBox1.Value, ComboBox2.Value + 1, 1)     '下月起始日
    c = DateSerial(ComboBox1.Value, ComboBox2.Value + 1, 1) - 1 '本月結束日
    d = Weekday(TextBox1)                                       '第一天位置
Else
   ComboBox2 = ""
End If
End Sub

Sub chang_day()
Dim i, j, x, y

y = DateSerial(ComboBox1.Value, ComboBox2.Value + 1, 1) - 1
For i = 1 To 42
x = DAY_i - Weekday(DateSerial(ComboBox1.Value, ComboBox2.Value, 1)) + (DAY_i - 3) * 7
DAY_i.Caption = x
Next
End Sub
Jared

TOP

回復 6# Jared
但程式就判斷找不到DAY_i.Caption 這個成員....
沒有檔案看不到 DAY_i 是如何設定的,是這樣嗎?
  1. Controls("DAY_" & I).Caption
複製代碼
回復 4# mark15jill

圖片上的程式碼,需要有好眼力才看的到,何不代碼貼上來
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# GBKEE


    (0口0)...想請問大大
    為什麼畫面一開始都沒東西?
    是在哪一行程式宣告隱藏呢?
    程式中 宣告 好多沒見過的語法(@@)...
Jared

TOP

回復 7# GBKEE


    回覆大大
    DAY_i 是如何設定的?
    DAY_i 就是OptionButton1 屬性NAME 改成DAY_1 ~42
       
是想利用For 迴圈去計算
最後在加上判斷式
計算出來的數字小於1或大於31就隱藏起來
但就是跑不過卡在這裡

    剛剛利用大大的回覆程式碼成功了(^口^)
     不過卻變成同一種數字....(u_u)
      
Jared

TOP

回復 7# GBKEE


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

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

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

  少看=只看不做也枉然

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題