我有一個多工作表工作簿,它有許多窗體控件(不是ActiveX)複選框。我正在尋找一些VBA,當它被選中時(True),它將改變所有複選框的背景(填充)顏色。我看過單個複選框的代碼,但沒有看到多個/全部複選框。我知道VBA足夠危險,但我正在學習任何新的東西。VBA更改複選框填充顏色選中
0
A
回答
1
繼我的評論,看看這個例子。
CheckBox3
爲Sheet1
和CheckBox2
是Sheet2
Sub CheckBox3_Click()
Dim actvWs As Worksheet
Dim CB As String
Set actvWs = ActiveSheet
CB = Application.Caller
ColorCB actvWs, CB
'
'~~> Rest of the code
'
End Sub
Sub CheckBox2_Click()
Dim actvWs As Worksheet
Dim CB As String
Set actvWs = ActiveSheet
CB = Application.Caller
ColorCB actvWs, CB
'
'~~> Rest of the code
'
End Sub
Sub ColorCB(ws As Worksheet, Cbox As String)
With ws.Shapes(Cbox)
'~~> 13 is for Yellow, 1 is for White
.Fill.ForeColor.SchemeColor = IIf(.ControlFormat.Value = xlOn, 13, 1)
.Fill.Visible = msoTrue
End With
End Sub
如果所有所有的複選框的_Click()
是相同的模塊中,那麼你可以在模塊的頂部,這樣你不動這兩條線不得不在每個Sub
中聲明它們。
Dim actvWs As Worksheet
Dim CB As String
+0
不錯的答案。如果會有很多複選框,那麼創建一個自定義類可能是有意義的,該自定義類需要一個複選框「With Events」 - 並在此處提供'_Click'事件的代碼。那麼你只需要將所有複選框分配給那些「包裝器」 - 並且只有一個'_Click'事件... –
+0
@PeterAlbert:絕對:) –
相關問題
- 1. Android更改複選框選中顏色
- 2. 根據勾選的複選框填充顏色背景顏色?
- 3. CSS:複選框樣式 - 選中時用顏色填充複選框
- 4. 更改複選框的顏色邊框
- 5. 更改複選框邊框顏色
- 6. WP7 - 更改multiselectlist複選框顏色
- 7. jquery移動更改複選框顏色
- 8. @ Html.CheckBoxFor() - 更改複選框標籤顏色
- 9. 使用Javascript更改複選框顏色
- 10. Html複選框:更改顏色
- 11. Javascript:onClick複選框更改div顏色
- 12. jqGrid更改複選框的行顏色
- 13. 填充複選框
- 14. 填充複選框
- 15. 更改離子複選框內的複選標記顏色
- 16. c#WPF更改複選框的複選顏色
- 17. 更改Android複選框的默認顏色複選標記
- 18. 更改複選框和單選按鈕的邊框顏色
- 19. 更改複選框和勾選顏色一旦選擇
- 20. 選中時更改複選框的文本顏色
- 21. 如果所有複選框都選中,更改行顏色?
- 22. 通過選中複選框更改顏色
- 23. 更改TR的顏色,當複選框選中
- 24. 更改複選框的背景顏色,當選中
- 25. 更改複選框的顏色,如果選中
- 26. 更改複選框被選中時的顏色
- 27. 當選中複選框時更改gridview顏色
- 28. 當選中時更改複選框標籤的顏色
- 29. 更改三態複選框上的紅色框的顏色
- 30. 更改選擇框的邊框顏色
'我看過單個複選框的代碼'只需將該代碼放置在複選框的單擊事件中的子用途中即可。你將不得不爲此使用'Application.Caller'。 –