excel - 如何从特定单元格中删除按钮?
问题描述
我有一个包含多个条目的日志。我将附加数据输入一行,例如单元格“G3”。
如果输入的数据是有效日期,则会在该行的相邻单元格“J3”中创建一个按钮:
Public Sub Worksheet_Change(ByVal target As Range)
Dim intersection As Range
Dim RgBtn As Range
Dim Btn As Shape
Dim wS As Worksheet
Set intersection = Intersect(target, Columns(7))
Set wS = ThisWorkbook.Sheets("Log") 'Worksheet
If Not intersection Is Nothing Then
If IsDate(target.Value) Then
'MsgBox "Cell " & Target.Address(0, 0) & " contains a valid date."
'Add Button:
wS.Unprotect "DoNotChange!"
Set RgBtn = wS.Range("J" & target.row)
Set Btn = wS.Shapes.AddFormControl(xlButtonControl, RgBtn.Left, RgBtn.Top, RgBtn.Width, RgBtn.Height)
With Btn
.OnAction = "'CreateInvoice " & target.row & "'"
.OLEFormat.Object.Text = "Create Entry"
End With
Else
'MsgBox "Error..."
End If
End If
End Sub
当我单击该按钮时,该范围(A3:F3)中的数据被复制到另一张纸上。
我希望,在单击该按钮后,该按钮被删除并替换为“已完成”文本。
我尝试了几种删除该按钮的方法。
解决方案
您可以隐藏按钮。
With btn
.Visible = Not .Visible
End with
推荐阅读
- spring - 如何生成一个随机字符串并使用 Mono 将其推出以每隔 X 秒或通过 Spring Reactive 随机延迟显示在浏览器中?
- python - 计算 DataFrame 的 2x2 行列组的平均值
- javascript - React 通过名称数组获取选择值
- layout - 如何在 Xcode 11 中垂直堆叠编辑器?
- javascript - 为什么 JSON 解析不会在以“t”开头的字符串的第一个字符上失败?
- go - Golang AWS S3 批量对象创建
- sql - 在 SQL 中定义只需要 10 位数字的列名
- sql - 具有 PK 和具有 UNIQUE 约束的表是否有任何区别
- android - 无法在android中获取CheckBox的引用
- ruby - 重复字符串 N 次 - 乘法 VS 枚举器