здравствуйте. имеется файл ексель в папке локальной сети с общим доступом. в данном файле сделан выпадающий список + макрос, позволяющие в ячейку пределенного столбца добавлять формулировки из выпадающего списка через запятую (т.е. с пополнением), а так же возможностью их редактирования непосредственно в ячейке.
код такой: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("W:W")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False newval = Target Application.Undo oldval = Target If IsError(Application.WorksheetFunction.Match(newval, Range(Replace(Target.Validation.Formula1, "=", "")), 0)) Then Target = newval Else If Len(oldval) <> 0 And oldval <> newval Then Target = Target & ";" & Chr(10) & " " & newval Else Target = newval End If End If If Len(newval) = 0 Then Target.ClearContents Application.EnableEvents = True End If End Sub
[/vba]
вот пока я делал этот выпадающий список без общего доступа все работало хорошо. как только восстановил общий доступ любой сотрудник, который открывал данный файл не мог воспользоваться сделанной функцией, т.е. ексель выдавал ошибку.
как исправить ? офис у всех сотрудников разный: у меня 2013, у других 2010/2007
здравствуйте. имеется файл ексель в папке локальной сети с общим доступом. в данном файле сделан выпадающий список + макрос, позволяющие в ячейку пределенного столбца добавлять формулировки из выпадающего списка через запятую (т.е. с пополнением), а так же возможностью их редактирования непосредственно в ячейке.
код такой: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("W:W")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False newval = Target Application.Undo oldval = Target If IsError(Application.WorksheetFunction.Match(newval, Range(Replace(Target.Validation.Formula1, "=", "")), 0)) Then Target = newval Else If Len(oldval) <> 0 And oldval <> newval Then Target = Target & ";" & Chr(10) & " " & newval Else Target = newval End If End If If Len(newval) = 0 Then Target.ClearContents Application.EnableEvents = True End If End Sub
[/vba]
вот пока я делал этот выпадающий список без общего доступа все работало хорошо. как только восстановил общий доступ любой сотрудник, который открывал данный файл не мог воспользоваться сделанной функцией, т.е. ексель выдавал ошибку.
как исправить ? офис у всех сотрудников разный: у меня 2013, у других 2010/2007lok888
Сообщение отредактировал lok888 - Четверг, 09.03.2017, 03:26