我在VBA上有点生疏,但过去没有问题 .

我编写了一个工作表更改事件,以便当我从单元格中的数据验证列表更改项目时,它会重新计算表格 . 我之前已经做了很多次但由于某种原因它甚至没有在事件宏的第一行代码中作为断点触发,当我用验证下拉列表改变单元格的值时,宏甚至都没有被击中 .

Private Sub Worksheet_Change(ByVal Target As Range)

Dim wsData As Worksheet, wsTarget As Worksheet
Set wsData = Sheets("RackCosts")
Set wsTarget = ActiveSheet

Dim TargetRangeValue As Variant
Dim numUnits As Integer
Dim unitCost As Double
Dim numUnitsRange As Range, unitCostRange As Range
Set numUnitsRange = wsTarget.Range("NumUnits")
Set unitCostRange = wsTarget.Range("Cost_Unit")

On Error GoTo ErrHandler:
'EquipType is the cells named range
If Target = wsTarget.Range("EquipType") Then
    TargetRangeValue = Target.Value

当数据验证单元格更改且断点位于Set wsData = ...代码行时,此事件中甚至不会触发断点

任何帮助,为什么这甚至不发射将不胜感激 .

注意:我在工作簿打开事件中添加了启用事件以确保启用了事件(是的,我知道这是默认设置)....没有帮助 .

注2:是的,代码在正确的工作表中 .