【发布时间】:2015-07-06 15:20:34
【问题描述】:
我有一个包含两行选项按钮的工作表。选项按钮 1-11 位于第 7 行,选项按钮 12-22 位于工作表的第 9 行。我的代码通过调用 centerOfCell 函数循环遍历每个选项按钮并将其居中在相应的单元格中。 当我运行我的程序时,Worksheets("Orders") 被传递到 CenterOptionButton 过程中,并且所有选项按钮都居中,除了选项按钮 1。我不知道为什么会发生这种情况。
Sub CenterOptionButton(wks As Worksheet)
Dim i As Byte
With wks
Select Case .Name
Case "RDC", "SKU"
optionCount = 8
Case "Orders"
optionCount = 11
Case Else
End Select
For i = 1 To optionCount
.OLEObjects("OptionButton" & i).Left = centerOfCell(.Cells(7, i + 1))
.OLEObjects("OptionButton" & i + optionCount).Left = centerOfCell(.Cells(9, i + 1))
Next i
End With
End Sub
如果然后我自己运行以下过程,用 Worksheets("Orders") 替换 wks,一切都会完美运行。知道问题可能是什么吗?
Sub test()
Dim i As Byte
With Worksheets("Orders")
Select Case .Name
Case "RDC", "SKU"
optionCount = 8
Case "Orders"
optionCount = 11
Case Else
End Select
For i = 1 To optionCount
.OLEObjects("OptionButton" & i).Left = centerOfCell(.Cells(7, i + 1))
.OLEObjects("OptionButton" & i + optionCount).Left = centerOfCell(.Cells(9, i + 1))
Next i
End With
End Sub
【问题讨论】: