Worksheet_Change не работает на виртуализированном Win Server SP2 - PullRequest
0 голосов
/ 04 апреля 2019

У меня проблема с написанным мною кодом, который работает нормально в моем приложении Desktop Excel, но не работает в Citrix Windows Server 2008 Excel, надеюсь, кто-нибудь мне поможет.

Рабочий лист не может вызвать событие Worksheet_Change для запуска макроса.

Этот файл должен выполнять некоторый проверочный код, когда есть изменения в некоторых определенных столбцах листа, поэтому я использовал Worksheet_Change. Код, который я написал, прекрасно работает на моем настольном приложении Excel и на любом рабочем столе Excel моих коллег, но когда я тестировал тот же код на нашей Citrix, Worksheet_Change просто не срабатывает.

Я попробовал некоторые из часто встречающихся ответов на форумах, активировал application.enableevents, проверил настройки безопасности макросов, но ничего не работает.

Этот код размещен на листах («СОМ»). Рабочий лист:

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
```
...