我试图在一个单元格中创建Excel代码,该单元格通过双击单元格来交替“in”和“OUT”。看起来我必须使用:Private Worksheet_BeforeDoubleClick(ByVal Target作为范围,cancel作为布尔值)在Sheet1中,而不是在模块中。
在相同的Sheet1中,我已经在另一个单元格中具有相同的功能,它交替执行“In Operation”、“Failing”和“Not”,这非常有效。
当我试图复制代码并以不同的范围名称执行时,我会得到“检测到的模糊名称”的编译错误消息。
如何避免错误消息并使其工作?
任何帮助都很感激。
发布于 2016-12-13 14:00:32
Workbook代码解调器接收所有工作表的事件。
工作簿码解调器
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Sh Is Sheet1 Then
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Target.Value = IIf(Target.Value = "OUT", "IN", "OUT")
Cancel = True
End If
End If
End Sub或者,您只需将DoubleCLick事件参数传递给sub。请确保传递Cancel ByRef,以便可以阻止对单元格进行编辑。
Sheet1共解调
子Sheet1BeforeDoubleClick(ByVal目标为范围,ByRef Cancel为布尔)
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Target.Value = IIf(Target.Value = "OUT", "IN", "OUT")
Cancel = True
End If结束子对象
标准共解调
子Sheet1BeforeDoubleClick(ByVal目标为范围,ByRef Cancel为布尔)
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Target.Value = IIf(Target.Value = "OUT", "IN", "OUT")
Cancel = True
End If结束子对象
https://stackoverflow.com/questions/41121860
复制相似问题