我正在尝试使用 For 循环手动将工作表上的每个选项按钮的字体设置为统一的大小和类型。 我可以通过写出每个特定按钮的信息来手动完成这些操作,但我有数百个按钮。 我什至可以使用此处的代码让 VBA 将正确的语法写入测试工作表:
`Private Sub Thisworkbook_Open()
For i = 1 to Worksheets("Core").OLEObjects.Count
If TypeName(Worksheets("Core").OLEObjects(i).Object) = "OptionButton" Then
Worksheets("testsheet").Range("A" & i).Value = Worksheets("Core").OLEObjects(i).Name
End If
Next i
End Sub`
但是我不能做的是将下面代码的其余部分与上面的代码一起放置,以得到一个干净简洁的语句,该语句将手动将所有 OptionButton 值设置为这些设置:
`With Worksheets("Core").OptionButton1
.Font.Size = 11
.Font.Name = "Calibri"
.Font.Bold = False
End With`
有人可以向我解释如何才能完成这项工作吗?
其实你的问题已经有了答案,你所要做的就是将你的属性放到正确的位置,如下:
For i = 1 To Worksheets("Core").OLEObjects.Count
If TypeName(Worksheets("Core").OLEObjects(i).Object) = "OptionButton" Then
Worksheets("Core").OLEObjects(i).Object.FontSize = 5
' Remaining code goes here.
End If
Next i
试试这个: .Font.Bold = 0 '为假(1为真)