[英]Remove shadow from ActiveX Option Button in Excel 2010 VBA
當用戶選擇ActiveX控件時,我試圖強調該按鈕。 我決定在選擇陰影時顯示陰影,然后在用戶選擇其他選項按鈕時隱藏陰影。 第一個過程正在工作,即使我選擇其他按鈕也無法消除陰影。 我的VBA代碼如下所示:
Private Sub OptionButton1_Click()
OptionButton1.Shadow = False
If OptionButton1.Value = True Then
OptionButton1.Shadow = True
Else
OptionButton1.Shadow = False
End If
End Sub
誰能幫我解決這個問題?
如果有FORMS按鈕,您可以使用
Sub RemoveFormsButtonShadows()
'A.Leine 21/10/2015
For Each Button In ActiveSheet.Shapes
Button.Select
Selection.ShapeRange.Shadow.Visible = False
Next Button
End Sub
為此,您必須創建一個子程序,需要從所有具有的選項按鈕中調用該子程序。 這個通用子控件將簡單地刪除所有選項按鈕上的陰影。 在這里,我以3個選項按鈕為例。
Option Explicit
Private Sub OptionButton1_Click()
RemoveShadow
If OptionButton1.Value = True Then _
OptionButton1.Shadow = True
End Sub
Private Sub OptionButton2_Click()
RemoveShadow
If OptionButton2.Value = True Then _
OptionButton2.Shadow = True
End Sub
Private Sub OptionButton3_Click()
RemoveShadow
If OptionButton3.Value = True Then _
OptionButton3.Shadow = True
End Sub
Sub RemoveShadow()
Dim objOpt As OLEObject
With ActiveSheet
For Each objOpt In .OLEObjects
If TypeName(objOpt.Object) = "OptionButton" Then
objOpt.Shadow = False
End If
Next
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.