我在之前的一个问题中发现,当从一系列单元格(例如A1到A4)双击时,如何将单元格(比如A1)复制到另一个单元格(比如B1)。我还发现了如何突出显示双击单元格(A1)。当我双击A2时,它的值将替换B1中已有的值。现在突出显示A1和A2,而不是突出显示A2。我希望第二次双击以从第一次双击中删除突出显示。 我正在使用的vb是
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
If Not Intersect(target, Range("A1:A4")) Is Nothing Then
Cancel = True
target.Copy
Range("B1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
With target.Interior
If Not .ColorIndex = xlNone Then
.ColorIndex = xlNone
ElseIf Not Intersect(target, Range("A1:A4")) Is Nothing Then
.ColorIndex = 15
ElseIf Not .ColorIndex = 15 Then
.ColorIndex = xlNone
End If
End With
Cancel = True
End Sub
任何帮助都会很棒
答案 0 :(得分:1)
假设您只希望突出显示一个单元格并且单元格中没有其他格式,您可以在每次双击开始时清除所有格式:
target.Parent.UsedRange.ClearFormats
或者,您可以将上一个单元格位置存储在公共变量中,然后在新单击时删除格式:
Public PreviousCell As Range
Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
If Not PreviousCell Is Nothing Then PreviousCell.Interior.ColorIndex = xlNone
.... your code here ....
Set PreviousCell = target
End Sub