- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2014-4-17 08:53
| 只看該作者
回復 1# Jared
- Private Sub 萬年曆()
- Dim OBtop As Integer, OBLeft As Integer, R As Integer, W As Integer, i As Date
- R = Label1.Top + 30
- ReDim F_OB(1 To Day(DateSerial(ComboBox1, ComboBox2.Value + 1, 0)))
- For i = DateSerial(ComboBox1, ComboBox2, 1) To DateSerial(ComboBox1, ComboBox2.Value + 1, 0) '年月1日到31日
- W = Weekday(i) '位置
- 'With包覆程式為天數運算
- With Controls.Add("Forms.OptionButton.1", i) 'Controls為控制項;OptionButton為單選紐
- .Visible = True
- .ControlTipText = i
- .Top = R '最上面那排
- .Left = Controls("Label" & W).Left '第一行呈現位置
- .Height = 15 '高度
- .Width = 30 '寬度
- .Caption = Day(i) '計算當月最後一天天數
- End With
- Set F_OB(Day(i)).OB = Controls(i & "") '& c '單選紐會彈跳出訊息
- If Weekday(i) = 7 And Month(i) = Month(i + 1) Then
- R = R + 30 '當位置等於7,R就加30 '** 備註 要考慮到同月份至少還有一天 **
- End If
- Next
- Me.Frame1.Top = R + 30 '調整 時間的位置
- Me.Height = R + Frame1.Height + 60 '調整 表單的高度
- End Sub
複製代碼- Option Explicit
- Public WithEvents OB As MSForms.OptionButton
- Private Sub OB_Click()
- Dim h As String, m As String
- With UserForm1
- h = "00 時 "
- m = "00 分 "
- With .TextBox1
- If Val(.Text) >= 0 And Val(.Text) <= 24 Then h = Format(Val(.Text), "00 時 ")
- End With
- With .TextBox2
- If Val(.Text) >= 0 And Val(.Text) <= 60 Then m = Format(Val(.Text), "00 分")
- End With
- test.TextBox1.Value = OB.ControlTipText & " " & h & m
- .Hide
- End With
- End Sub
複製代碼 |
|