我有5个连接5个细胞的微调器。当5个单元格的总和达到一定值时,旋转器是否可能停止工作?
即在减少另一个细胞之前无法进一步增加任何细胞。
看看这是否适用,它有点hacky但是做的工作。确保你遵循所有步骤,否则你会遇到问题。
在您的工作簿中,将此代码添加到新模块中......
Public Sub Spinner1Change()
SpinnerChange "Spinner1"
End Sub
Public Sub Spinner2Change()
SpinnerChange "Spinner2"
End Sub
Public Sub Spinner3Change()
SpinnerChange "Spinner3"
End Sub
Public Sub Spinner4Change()
SpinnerChange "Spinner4"
End Sub
Public Sub Spinner5Change()
SpinnerChange "Spinner5"
End Sub
Sub SpinnerChange(ByVal strSpinnerName As String)
Dim bEnabled As Boolean, strLinkedCell As String, objSheet As Worksheet
Set objSheet = Worksheets("Sheet1")
If Range("rngCurrentValue") > Range("rngMaxValue") Then
strLinkedCell = objSheet.Shapes(strSpinnerName).ControlFormat.LinkedCell
objSheet.Range(strLinkedCell) = objSheet.Range(strLinkedCell) - 1
End If
End Sub
将“Sheet1”更改为您的微调器存在的工作表的名称。
现在在你的工作表中......
..创建2个命名范围:
使用您的微调器,为每个微调器命名,我称之为Spinner1,Spinner2,Spinner3等,并将它们链接到所需的单元格......
输入最大值(如单元格D2中所示),然后旋转到它,它应该导致最后一次旋转减少到它的先前值。
没有错误检查,但你可以自己解决,我觉得这是公平的。
如果您有更好的解决方案,请随意接受。 :-)