Страницы: 1
RSS
Запретить сохранять изменения в определенном листе книги
 
Здравствуйте. Подскажите пожалуйста, как запретить сохранять изменения в определенном листе книги эксель. Например у нас есть файл в нем много листов, один из них бланк заказа, так вот юзер может дополнять строки в листе бланк заказа, удалять строки, но при сохранении всей книги, бланк не сохранялся, а если есть изменения на других листах то должно сохранится, потому что на других листах содержится номенклатура, а бланк мы проста с помощью выпадающих списков наполняем, как наполнили распечатали или сохранили как и все!
 
А защита ЛИСТА не подходит?
 
Нужно не добавлять строки к бланку, а предусмотреть пустые для заполнения при надобности.
 
Михаил, Здравствуйте, а при печати или сохранении удалять? Это не удобно, может есть макросом код какой ?
 
Юрий М,Там нет такого, я имею ввиду, запрет на сохранение
 
Цитата
Дмитрий С написал:
а при печати или сохранении удалять?
Скрывать.
Изменено: Юрий М - 17.06.2021 17:11:27
 
Цитата
Дмитрий С написал:
я имею ввиду, запрет на сохранение
Но есть на удаление/вставку строк?
 
Юрий М, это как?
 
Юрий М, а это нужно, менеджер будет добавлять строки, заказы же разные.
 
Вот менеджеру и скажите пароль ))
А остальным не говорите.
 
Цитата
Дмитрий С написал:
это как?
Вы не умеете скрывать строки?
 
Юрий М,ну так не интересно, я думал при сохранении или печати они автоматически уходят
 
Тогда нужно писать макрос, скрывающий запасные строки, и вызывать его при печати и сохранении.
 
Юрий М,Есть идеи как?
 
Конечно есть: открываем редактор и с клавиатуры набираем текст (код) того самого макроса ))
 
Цитата
Дмитрий С написал:
но при сохранении всей книги, бланк не сохранялся
вот это бред. Если какой-то бланк должен НЕ СОХРАНЯТЬСЯ, то его в отдельную книгу надо выводить и делать правильную защиту.
А отдельный лист Вы нормально никогда не защитите. Отсутствует такой функционал в Excel и воротить для этого макросы не лучший способ.
Самое правильно здесь может быть это делать лист бланка скрытым, на основном каком-то листе кнопка "Создать бланк", по нажатию которой в книге будет создана копия листа бланка для заполнения. Перед закрытием книги удалять этот дубль листа и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Все допетрил, спасибо
 
Дмитрий(The_Prist) Щербаков,теперь вопрос, я вывел на отдельный лист бланк заказа, как его теперь правильно защитить, чтобы его можно было менять всяко разно, но сохранить нельзя было, если только сохранить как!
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
по нажатию которой в книге будет создана копия листа бланка для заполнения. Перед закрытием книги удалять этот дубль листа
Аам же Дмитрий написал: работайте с копией бланка. А оригинал всегда будет оставатья неизменным.
 
Юрий М, ну тогда как копию сделать, точнее копию то  я сделать смогу, как удалять его автоматически при закрытии и делать копию автоматически при входе в документ
 
Найдите в модуле книги событие Private Sub Workbook_BeforeClose(Cancel As Boolean)

и в нём напишите удаление нужного листа.
 
Юрий М, Здравствуйте, а можете помочь! Как написать,  а также как копировать автоматически при открытии?!
 
Цитата
Дмитрий С написал:
Как написать
как написать? Открываете редактор VBA и пишите :)
Просто странно видеть подобное сообщение без любой конкретики. Вы не смогли записать рекордером копирование листа внутри книги?
Код
ThisWorkbook.Sheets("Бланк").Copy Before:=ThisWorkbook.Sheets(1)
ThisWorkbook.Sheets(1).Name = "Бланк - заполнить"
Цитата
Дмитрий С написал:
как копировать автоматически при открытии?
В модуле книги находите/создаете событие Workbook_Open и в него прописываете это самое копирование.
Потом в том же модуле находите/создаете событие Workbook_BeforeClose
в котором удаляете:
Код
Application.DisplayAlerts = False
ThisWorkbook.Sheets("Бланк - заполнить").Delete
Application.DisplayAlerts = True
Где искать модуль ЭтаКнига: Что такое модуль? Какие бывают модули?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Спасибо
Страницы: 1
Читают тему (гостей: 1)
Наверх