Worksheet_Change在虚拟化Win Server SP2上不起作用

时间:2019-04-04 18:39:18

标签: excel vba windows-server-2008-r2

我写的代码在我的Desktop Excel应用程序上运行顺利,但是在Citrix Windows Server 2008 Excel上却无法运行,希望有人能帮助我。

工作表无法触发Worksheet_Change事件来触发宏。

当工作表的某些特定列发生更改时,此文件应执行一些验证代码,因此我使用了Worksheet_Change。我编写的代码在我的桌面Excel应用程序和同龄人的任何桌面Excel上都可以完美运行,但是当我在Citrix上测试相同代码时,Worksheet_Change不会触发。

我在论坛上尝试了一些常见的答案,激活了application.enableevents,检查了宏的安全性设置,但似乎没有任何作用。

此代码放在工作表(“ COM”)上。

Public Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
Application.EnableEvents = False

Dim COM As Worksheet
    Set COM = ThisWorkbook.Sheets("COM")

On Error Resume Next
COM.Unprotect Password:="****"
On Error GoTo 0

Dim ResColumn As Long
Dim SubResColumn As Long
Dim HeaderRow As Long, Startrow As Long, EndRow As Long
        HeaderRow = Sheets("COM").Range("D1").End(xlDown).Row
        ResColumn = Sheets("COM").Range("A" & HeaderRow & ":AZ" & HeaderRow).Find("RES", LookIn:=xlValues, LOOKAT:=xlWhole).Column

If Not Intersect(Target, Sheets("COM").Columns(ResColumn)) Is Nothing Then


'Code to be executed



End If

On Error Resume Next
COM .Protect Password:="****", AllowFiltering:=True
On Error GoTo 0

Application.EnableEvents = True
Application.CutCopyMode = False
'Application.ScreenUpdating = True

End Sub
```

0 个答案:

没有答案