在Excel VBA中,我有15个命令按钮(btn_1, btn_2, ... btn_15
),并且在单击单独的命令按钮时尝试删除所有15个按钮中的标题文本。我目前正在使用Me.btn_1.Caption = ""
单独删除每个按钮的标题。
如何在没有单独的代码行的情况下删除这些按钮的标题?
答案 0 :(得分:0)
您可以通过旋转OLEObject来遍历工作表中的每个按钮。
此代码仅重置当前工作表中的标题:
Sub resetButtonCaption()
Dim btn As OLEObject
For Each btn In ActiveSheet.OLEObjects
If TypeName(btn.Object) = "CommandButton" Then
If btn.Object.Caption Like "*btn*" Then
btn.Object.Caption = vbNullString
End If
End If
Next
End Sub
此代码将重置每个工作表中的标题:
Sub resetButtonCaption()
Dim btn As OLEObject, ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
For Each btn In ws.OLEObjects
If TypeName(btn.Object) = "CommandButton" Then
If btn.Object.Caption Like "*btn*" Then
btn.Object.Caption = vbNullString
End If
End If
Next btn
Next ws
End Sub