excel用户表单button不工作

我在excel VBA中创build了一个简单的用户窗体,它有一个添加button和一个减去button。 当单击一个时,它应该添加一个值到当前小时的行中的任何值。

例如,如果它的7:35和某人点击添加它应该加1到具有7:00列B的行。当我初始化这个代码与一个vbYesNobutton和几个if语句的作品,但是当我使用相同的代码在button上点击用户表单,它不,我不明白为什么。 我的代码如下:

Private Sub CommandButton1_Click() Sheets("Front End").Unprotect ("29745") h = Hour(Now) For Each c In range("B8:B20") If h = Hour(c) Then c.Offset(0, 6) = c.Offset(0, 3) + 1 Exit For End If Next c Sheets("Front End").Protect ("29745") End Sub ------------------------------------------------------ Private Sub CommandButton2_Click() Sheets("Front End").Unprotect ("29745") h = Hour(Now) For Each c In range("B8:B20") If h = Hour(c) Then c.Offset(0, 6) = c.Offset(0, 3) - 1 Exit For End If Next c Sheets("Front End").Protect ("29745") End Sub 

任何人都可以帮助我了解我有什么错,我需要做什么来解决它?

谢谢!

如果你想增加1到这个列这是你的问题:

 c.Offset(0, 6) = c.Offset(0, 3) + 1 

应该

 c.Offset(0, 6) = c.Offset(0, 6) + 1 'or both 3 

你的补偿不匹配。 减法的同样的问题。 除非你想从第6列的值中减去一个值,并把它放在第3列。在这种情况下,这个代码应该工作正常。