powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / совместная работа с книгой
15 сообщений из 15, страница 1 из 1
совместная работа с книгой
    #34396816
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как сделать так, чтобы при входе в общую книгу Excel
один человек видел только столбцы A и В и мог корректировать только столбец В
а другой, - видел A и С и корректировать мог бы только С ?

Дело в том, что для того, чтобы программно назначить видимость(корректировку) столбцов
надо снять доступ к общей книге, но если там уже кто-то работает, это не удаётся.


спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34396892
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать Application.UserName.
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34396946
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FМожно использовать Application.UserName.


его и использую ... но не получается сделать в общей книге то о чём написала
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34396961
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того чтоб "скрыть/отобразить" столбцы не нужно снимать общий доступ
Для настройки этого можно воспользоваться
Код: plaintext
1.
2.
Private Sub Workbook_Open()

End Sub
ну а для того чтоб не могли занести инфо в определенный столбец можно воспользоваться
Код: plaintext
1.
2.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If критерий Then Cells(Target.Row,  1 ).Select
End Sub
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34397127
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо vkodor за помощь
как раз то что надо
но вот если можно, подскажите, если надо дать доступ не к одному столбцу В,
Cells(Target.Row, 2).Select
а например к 2 столбцам А И В

попыталась добавить строку
Cells(Target.Row, 1).Select или Cells(Target.Row, 1:2).Select не работает
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34397486
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы дать возможность корректировать не один столбец, а несколько, расположенных не рядом
знаю только один способ
-защитить всю книгу
-для корректируемых столбцов использовать .protect = false
ячейки становятся недоступны только если устанавливаешь "Защитить лист"
Тогда при входе очередного пользователя надо снять защиту, protect=false
его столбцы и опять установить защиту

в режиме совместного доступа этот алгоритм работает некорректно
Может кто-ниб подскажет другой способ ?
Спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34399303
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34399974
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
спасибо огромное за пример
я здесь в выходные, помучившись, нашла такое решение
в SelectionChange - запоминаем значение ячейки при входе в неё
в change - её значение при выходе

и

On Error Resume Next 'ставим чтобы при удал-доб строк,объединении ячеек не было ошибок
If Application.UserName = "1" And (Target.Column <> 1 _
And Target.Column <> 2) ' то есть если юзер откорректировал "чужой" столбец
ЗДЕСЬ ЗАПИСЫВАЕМ В ЯФЧЕЙКУ ЕЁ ЗНАЧЕНИЕ, КОТ БЫЛО ДО КОРРЕКТИРОВКИ
end if

Работает.

Правда ваше решение мне больше понравилось, потому что оно оригинальное.
Спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34403650
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
не совсем разобралась с синтаксисом, почему в SelectionChange
у юзера '1' Cells(Target.Row, 1).Select (1)
а у юзера '2' Cells(Target.Row, 3).Select (2)

то есть в позиции col стоит 1 в (1) и 3 в (2) ?

где можно почитать об этом, чтобы разобраться?
спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34403743
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1 vkodor
не совсем разобралась с синтаксисом, почему в SelectionChange
у юзера '1' Cells(Target.Row, 1).Select (1)
а у юзера '2' Cells(Target.Row, 3).Select (2)

то есть в позиции col стоит 1 в (1) и 3 в (2) ?

где можно почитать об этом, чтобы разобраться?
спасибо
"Так о чем сдесь читать?"
эти номера столбцов ты выставляешь, какие тебе нужно
поскольку (если вошел user1) я скрыл 3-ий и 4-ый столбец, а 1-ый и 2-ой отобразил, логично что, при его неправильных дейстиях, его перебрасывает на первый столбец.
Код: plaintext
Cells(Target.Row,  1 ).Select
ну и на третий (если вошел user2)
может тебе так будет удобней
для 1-го
Код: plaintext
Range("A" & Target.Row).Select
для 2-го
Код: plaintext
Range("С" & Target.Row).Select
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34404656
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно ли как-то закрыть доступ на удаление строк при совместном доступе
одному из трёх юзеров, не используя protect?
спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34405575
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно
Удаление делается 4-мя способами
1. правый клик мыши на ячейке
2. правый клик мыши на строке
3. меню "правка >"удалить"
4. сочетание клавиш Alt+ПУ
(по моему ничего не забыл)
для этого надо присвоить свою процедуру этим пунктам
в меню "правка >"удалить" ID = 478, в меню cell(правый клик мыши на ячейке) = 292,
а в меню row(правый клик мыши на строке) = 293
Код: plaintext
1.
2.
    Application.CommandBars.FindControl(ID:= 478 ).OnAction = "MyProcedur"
    Application.CommandBars.FindControl(ID:= 292 ).OnAction = "MyProcedur"
    Application.CommandBars.FindControl(ID:= 293 ).OnAction = "MyProcedur"
ну а при выходе надо все вернуть в исходное положение
я в примере для User1 сделал
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34407724
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor

ОГРОМНОЕ - ПРЕОГРОМНОЕ ВАМ СПАСИБО
от меня и от моих пользователей за любезнооказанную нам помощь
Всё замечательно работает.
:)
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34590639
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот ещё вопрос по работе с общей книгой ...
размер xls - файла 1,2 мб
после 5-дневной работы с ним в сети его размер увеличивается в 4-5 раз, хотя новых строк-стобцов не добавляется, а идёт просто корректировка внутри файла.
если снять галку "Совместный доступ" сохранить и снова установить галку "совместный доступ"
файл опять уменьшается до 1,2 - 1,4 мб
как избежать этого многократного увеличения размера ?
спасибо
...
Рейтинг: 0 / 0
совместная работа с книгой
    #34590857
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1вот ещё вопрос по работе с общей книгой ...
размер xls - файла 1,2 мб
после 5-дневной работы с ним в сети его размер увеличивается в 4-5 раз, хотя новых строк-стобцов не добавляется, а идёт просто корректировка внутри файла.
если снять галку "Совместный доступ" сохранить и снова установить галку "совместный доступ"
файл опять уменьшается до 1,2 - 1,4 мб
как избежать этого многократного увеличения размера ?
спасибо
ПЕРЕЙТИ НА СУБД
Лучшего решения не найдешь.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / совместная работа с книгой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]