根据时间和日期增加特定细胞

时间:2018-01-25 19:02:51

标签: excel excel-vba vba

所以即时创建一个连接到宏的旋转按钮。按钮会根据一天中的小时和一周中的哪一天将单元格增加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 

但我有两个问题。第一个是我不认为香港专业教育学院的编码是正确的,以获得一天的时间,第二个是它只允许旋转控制增加,我是否必须创建第二个按钮以减少数字?

感谢任何帮助。

2 个答案:

答案 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
相关问题