我无法在 Excel VBA(office 365)中运行我的代码。
我希望在用户或代码更改任何单元格后运行此代码:
`
Sub Workbook_SC()
Dim var1 As Double
Application.EnableEvents = False
Worksheets("GSCells").Cells(5, 4).Value = 22
Worksheets("GSCells").Cells(5, 5).GoalSeek Goal:=0, ChangingCell:=Worksheets("GSCells").Cells(5, 4)
var1 = Worksheets("GSCells").Cells(5, 4).Value
Worksheets("GSCells").Cells(10, 5).Value = var1
If var1 < 23 Then
Worksheets("Best").Cells(24, 11).Value = 23
End If
If var1 > 45 Then
Worksheets("Best").Cells(24, 11).Value = 45
End If
If var1 >= 23 And var1 <= 45 Then
Worksheets("Best").Cells(24, 11).Value = var1
End If
Application.EnableEvents = True
End Sub
我根据这个论坛上的信息编写了此代码。 我将该代码放在Excel VBA中的'ThisWorkbook'中。 一开始,Sub被命名为Workbook_SheetChange(),但返回了一个错误("Procedure declaration does not match description of event or procedure having same name")。
更改名称为SC()后,该错误消失了。 尽管如此,每次我更改任何工作表上的任何值时,它都无法运行。
但是,如果我进入VBA并按F5,它就可以正常工作。
有人能帮忙吗?
非常感谢。
Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
而不是Worksheet_Change(ByVal Target As Range)
?此外,在处理工作表更改事件时,您需要稍微小心。您可能想查看此链接。 - Siddharth Rout