当用户不取消选择单元格时调用工作表事件更改
call worksheet event change when user doesn't deselect cell
我有一个非常简单的 Worksheet_Change
事件 运行 所以如果工作中的任何单元格 sheet 更改另一个单元格 sheet 更改为 1。我是使用该单元格作为标志来了解是否对作品进行了任何更改sheet。我有一个形状,我在选择时为其分配了一个宏。宏检查是否进行了任何更改(如果该单元格设置为 1),以及是否触发了我的代码。
问题是,例如
- 单元格
A1
包含姓名 Bob。
- 用户选择单元格
A1
并将姓名从 Bob 更改为 Steve
- 但是他们不是先点击单元格外然后点击形状,而是直接点击形状而不取消选择单元格。
问题在于 worksheet_change
事件在我的宏完成后才会触发。因此,当宏运行时,标志设置为 0,但一旦完成,标志将设置为 1。
关于如何阻止它的任何想法?
Private Sub Worksheet_Change(ByVal Target As Range)
sheets("Cond For").Range("A1").Value = 1
End Sub
Sub saveData()
if sheets("Cond For").Range("A1").Value = 1 Then
'my code
End if
End Sub
像这样使用两个例程(将 Sheet1.Reallysave 重命名为您的 sheet 的代号和例程名称):
Sub SaveData()
Application.Ontime Now, "Sheet1.ReallySave"
End Sub
Sub ReallySave()
'Your current code
End Sub
我有一个非常简单的 Worksheet_Change
事件 运行 所以如果工作中的任何单元格 sheet 更改另一个单元格 sheet 更改为 1。我是使用该单元格作为标志来了解是否对作品进行了任何更改sheet。我有一个形状,我在选择时为其分配了一个宏。宏检查是否进行了任何更改(如果该单元格设置为 1),以及是否触发了我的代码。
问题是,例如
- 单元格
A1
包含姓名 Bob。 - 用户选择单元格
A1
并将姓名从 Bob 更改为 Steve - 但是他们不是先点击单元格外然后点击形状,而是直接点击形状而不取消选择单元格。
问题在于 worksheet_change
事件在我的宏完成后才会触发。因此,当宏运行时,标志设置为 0,但一旦完成,标志将设置为 1。
关于如何阻止它的任何想法?
Private Sub Worksheet_Change(ByVal Target As Range)
sheets("Cond For").Range("A1").Value = 1
End Sub
Sub saveData()
if sheets("Cond For").Range("A1").Value = 1 Then
'my code
End if
End Sub
像这样使用两个例程(将 Sheet1.Reallysave 重命名为您的 sheet 的代号和例程名称):
Sub SaveData()
Application.Ontime Now, "Sheet1.ReallySave"
End Sub
Sub ReallySave()
'Your current code
End Sub