Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
增加/减少选定范围内多个单元格的值VBA_Vba_Excel - Fatal编程技术网

增加/减少选定范围内多个单元格的值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按钮?您可能应该为此提出一个新问题,因为这个问题已经解决:)