Excel Worksheet_Change Event not working

后端 未结 2 931
余生分开走
余生分开走 2020-12-05 20:13

I am trying to write a macro where changing any column should automatically save worksheet.

My Excel sheet expands till G25.

I tried this but i

2条回答
  •  甜味超标
    2020-12-05 20:50

    The other common reason why an Event doesn't work is that EnableEvents has been set to False

    I would code your problem like this as

    • typically you need to work with the range of interest that is being tested. So creating a variable rng1 below serves both as an early exit point, and a range object to work with. On a sheet event Target.Worksheet.Range("A1:G25") will work but it is lengthy for it's actual use
    • If you do have a range to manipulate then making any further changes to the sheet will trigger a recalling of the Change event and so on, which can cause Excel to crash. So it is best to disable further Events, run your code, then re-enable Events on exit

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim rng1 As Range
      Set rng1 = Intersect(Target, Range("A1:G25"))
      If rng1 Is Nothing Then Exit Sub
      Application.EnableEvents = False
      'work with rng1
      Application.EnableEvents = True
      End Sub
      

提交回复
热议问题