所以即时创建一个连接到宏的旋转按钮。按钮会根据一天中的小时和一周中的哪一天将单元格增加1。
使用的代码是: 更新
Sub OneClick()
strTime = Hour(Now())
Dim LWeekday As Integer
LWeekday = Weekday(vbMonday)
If strTime = 10 And LWeekday = 5 Then
Range("K4").Value = Range("K4") + 1
ElseIf strTime = 11 And LWeekday = 5 Then
Range("K5").Value = Range("K5") + 1
End If
'Select Case OneClickTest
'
' Case strTime = 8 And LWeekday = 5
' Range("K2").Value = Range("K2") + 1
' Case strTime = 9 And LWeekday = 5
' Range("K3").Value = Range("K3") + 1
'End Select
End Sub
但我有两个问题。第一个是我不认为香港专业教育学院的编码是正确的,以获得一天的时间,第二个是它只允许旋转控制增加,我是否必须创建第二个按钮以减少数字?
感谢任何帮助。
答案 0 :(得分:1)
如果您的按钮是ActiveX旋转按钮,请使用与该按钮相关的事件,例如SpinButton1_SpinDown()
和SpinButton1_SpinUp()
。
如果按钮是表单控件,那么您将有一个链接到按钮的单元格,其中单击会导致值更改。在代码中使用该单元格值。
答案 1 :(得分:0)
这是最终的工作代码。
Sub OneClick()
strTime = Hour(Now()) 'grabs the current hour on a 24 hour rotation
Dim LWeekday As Integer
LWeekday = Weekday(Date, vbMonday) 'Set Monday as day 1
If strTime = 9 And LWeekday = 1 Then
Range("C3").Value = Range("C3") + 1
ElseIf strTime = 10 And LWeekday = 1 Then
Range("C4").Value = Range("C4") + 1
ElseIf strTime = 11 And LWeekday = 1 Then
Range("C5").Value = Range("C5") + 1
ElseIf strTime = 12 And LWeekday = 1 Then
Range("C6").Value = Range("C6") + 1
ElseIf strTime = 13 And LWeekday = 1 Then
Range("C7").Value = Range("C7") + 1
ElseIf strTime = 14 And LWeekday = 1 Then
Range("C7").Value = Range("C7") + 1
ElseIf strTime = 15 And LWeekday = 1 Then
Range("C8").Value = Range("C8") + 1
ElseIf strTime = 16 And LWeekday = 1 Then
Range("C9").Value = Range("C9") + 1
ElseIf strTime = 17 And LWeekday = 1 Then
Range("C10").Value = Range("C10") + 1
ElseIf strTime = 18 And LWeekday = 1 Then
Range("C11").Value = Range("C11") + 1
End If
End Sub