【发布时间】:2016-08-30 18:32:31
【问题描述】:
我有一个名为“Overall”的 Excel 工作表。其中,A13、B13、C13 和 D14 共列出了 4 个号码。现在将数字设置为 0、1、3 和 4。
如何使用 VBA 双击其中一个数字并将其替换为符号?例如,如果我单击位于 A13 的数字 0,我希望将数字替换为具有代码“24EA”的符号。该符号是一个 0,周围有一个圆圈。然后我希望可以单击该数字,然后将其变为没有圆圈的正常 0。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A13:D13")) Is Nothing Then Exit Sub
If Target.Value = "0" Then
ActiveCell.FormulaR1C1 = ChrW(&H24EA)
With Selection.Font
.Name = "Calibri"
.Size = 16
End With
ElseIf ActiveCell.FormulaR1C1 = ChrW(&H24EA) Then
Target = "0"
With Selection.Font
.Name = "Calibri"
.Size = 9
End With
End If
这有可能吗?如果可以,如何实现?
【问题讨论】:
-
你有没有尝试过?如果您搜索双击事件,我敢肯定那里有很多示例。
-
我已经尝试过了,但是当我在数字 0 上单击 A13 时,我得到了这个错误:“编译错误:没有 If 的否则”。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A13:D13")) Is Nothing Then Exit Sub If Target.Value = "0" Then ActiveCell.FormulaR1C1 = ChrW(&H24EA) With Selection.Font .Name = "Calibri" .Size = 16 ElseIf ActiveCell.FormulaR1C1 = ChrW(&H24EA) Then Target = "0" With Selection.Font .Name = "Calibri" .Size = 9 End If