- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2014-6-14 16:42
| 只看該作者
回復 3# reangame - Dim XToggle() As New Class1
- Private Sub ComboBox1_Change()
- If ComboBox1 <> "" And ComboBox2 <> "" Then 行事曆製作
- End Sub
- Private Sub ComboBox2_Change()
- If ComboBox1 <> "" And ComboBox2 <> "" Then 行事曆製作
- End Sub
- Sub 行事曆製作()
- Dim sp As Control
- For Each sp In UserForm1.Frame2.Controls
- If sp.Name Like "ToggleButton*" Then Me.Controls.Remove sp.Name
- Next
- day1 = DateSerial(Val(ComboBox1), Val(ComboBox2), 1)
- day2 = DateSerial(Val(ComboBox1), Val(ComboBox2) + 1, 0)
- w = Weekday(day1, vbMonday)
- ReDim XToggle(day1 To day2)
- For I = day1 To day2
- k = Int((Day(I) + w - 2) / 7)
- s = Weekday(I, vbMonday)
- kk = Int((Day(I) + w - 2) / 7)
- If kk = 5 Then
- Frame1.Height = 262
- Else
- Frame1.Height = 222
- End If
-
- With Frame2.Controls.Add("forms.ToggleButton.1")
- .Top = (k * 38) - 1
- .Left = (42 * (s - 1)) - 2
- .Height = 38
- .Width = 42
- .Caption = Day(I)
- Set XToggle(I).Toggle = Controls(.Name)
- '物件變數指定為 Controls(.Name)
- End With
- Next
- End Sub
複製代碼
- Option Explicit
- Public WithEvents Toggle As MSForms.ToggleButton
- Private Sub Toggle_Click()
- With Toggle
- .BackStyle = 1
- If .Value Then
- .Font.Size = 18
- .Font.Bold = True
- .BackColor = vbYellow
- Else
- .Font.Size = 12
- .Font.Bold = False
- .BackColor = &H8000000F
- End If
- End With
- End Sub
複製代碼 |
|