增加/减少选定范围内多个单元格的值VBA
我有一个旋转按钮,分为两个事件增加/减少选定范围内多个单元格的值VBA,vba,excel,Vba,Excel,我有一个旋转按钮,分为两个事件旋转和旋转。我希望用户选择任意给定范围的单元格,然后使用旋转按钮,将单元格的值增加或减少1。这是我目前的代码: Private Sub SpinButton1_SpinUp() Dim myRange As Range Set myRange = Selection SpinButton1.Height = 45 SpinButton1.Width = 39 SpinButton1.Left = 283.5 SpinButton1.Top = 328.5 my
旋转
和旋转
。我希望用户选择任意给定范围的单元格,然后使用旋转按钮,将单元格的值增加或减少1。这是我目前的代码:
Private Sub SpinButton1_SpinUp()
Dim myRange As Range
Set myRange = Selection
SpinButton1.Height = 45
SpinButton1.Width = 39
SpinButton1.Left = 283.5
SpinButton1.Top = 328.5
myRange.Value = myRange.Value + 1
'(assume -1 for the SpinDown function)
End Sub
当我一次选择多个单元格时,会出现一个运行时错误,指出类型不匹配。我对VBA/Excel编程非常陌生,因此非常感谢您的帮助。谢谢 一种方法是检查是否选择了多个单元格。比如:
Sub test()
Dim myRange As Range
Set myRange = Selection
If myRange.Cells.Count > 1 Then Exit Sub
MsgBox "Only 1 cell selected"
End Sub
如果要操作多个单元格,请尝试此操作:
Private Sub SpinButton1_Change()
With Application
.ScreenUpdating = False
End With
Dim myRange As Range
Dim myCell As Range
Set myRange = Selection
SpinButton1.Height = 45
SpinButton1.Width = 39
SpinButton1.Left = 283.5
SpinButton1.Top = 328.5
For Each myCell In myRange
myCell.Value = myCell.Value + 1
Next myCell
With Application
.ScreenUpdating = True
End With
End Sub
好久不见!不管怎样,我实际上在尝试修改多个单元格的值。啊,好的。然后,您需要循环该范围内的每个单元格。请稍等,我将修改我的代码。@DeeWBee编辑代码以在多个单元格中循环。如果这是你想要的,请告诉我。它可以防止每次更新单元格时屏幕重新写入。它使代码更具响应性,因为屏幕不必每次都重新绘制。因为我不确定你会选择2个还是1000000个单元格,所以我把它放在那里。这并没有什么坏处(如果你的代码中有很多移动的部分,你应该养成这样做的习惯)不,是表单还是activex按钮?您可能应该为此提出一个新问题,因为这个问题已经解决:)