以下例程允许用户切换完成/未完成所需条目的位置。按钮文本更改为“完成/未完成”,并且相邻单元格使用0或1值上的简单条件格式设置变为绿色/红色。适用于更新单行。
每个用户的数据输入行数(例如10到100)会有所不同,我试图找到一种方法来选择然后将工作表中的所有按钮更改为“完成”并将相邻单元格更新为0如果用户想要这样做,那么还是一对一的。
每一行都是数据输入行,B列中的每个单元格都有一个按钮,C列中相邻单元格中的0/1。
Sub complete()
'Complete / Incomplete Buttton and Flag
Dim buttontext As String
buttontext = Application.Caller
ActiveSheet.Buttons(Application.Caller).TopLeftCell.Select
ActiveCell.Select
If ActiveSheet.Buttons(buttontext).Caption = "Mark as Incomplete" Then
ActiveSheet.Buttons(buttontext).Caption = "Mark as Complete"
ActiveCell.Offset(0, 1).Value = 1
Else
ActiveSheet.Buttons(buttontext).Caption = "Mark as Incomplete"
ActiveCell.Offset(0, 1).Value = 0
End If
End Sub
以下代码有效:
Sub MarkAllComplete()
Dim btn As Button
For Each btn In ActiveSheet.Buttons
btn.Caption = "Mark as Complete"
Cells(btn.TopLeftCell.Row, btn.TopLeftCell.Column + 1) = 0
Next
End Sub
答案 0 :(得分:0)
使用这个概念:
For Each btn In ActiveSheet.Buttons
Debug.Print btn.Name, btn.TopLeftCell.Column, btn.TopLeftCell.Row
Next