Доброго времени! Подскажите в Excel есть возможность работать с выпадающим списком при включенной защите листа, и при том, что сама ячейка то же защищена. Суть заключается в том, что к ячейкам применён макрос (объединение ячеек без потери данных), для последующей фильтрации этих ячеек и есть маленькая проблема если данную ячейку стереть формулы в ней пропадают и для этого мне её надо защитить, но при этом выпадающий список блокируется Выкладываю пример
Доброго времени! Подскажите в Excel есть возможность работать с выпадающим списком при включенной защите листа, и при том, что сама ячейка то же защищена. Суть заключается в том, что к ячейкам применён макрос (объединение ячеек без потери данных), для последующей фильтрации этих ячеек и есть маленькая проблема если данную ячейку стереть формулы в ней пропадают и для этого мне её надо защитить, но при этом выпадающий список блокируется Выкладываю примерadamm1603
adamm1603, не очень понятный пример, так что, как поняла: ячейка А1 - без защиты, А2 - с защитой. Объединяем А1:А2 макросом (Вашим), ставим защиту на лист. А1 можете менять, А2 меняется по формуле
adamm1603, не очень понятный пример, так что, как поняла: ячейка А1 - без защиты, А2 - с защитой. Объединяем А1:А2 макросом (Вашим), ставим защиту на лист. А1 можете менять, А2 меняется по формулеManyasha
как поняла: ячейка А1 - без защиты, А2 - с защитой. Объединяем А1:А2 макросом (Вашим), ставим защиту на лист.
Здравствуйте! Вы мне давали совет касаемо защиты ячеек, в результате не совсем то, что хотелось. Моей задачей является полная блокировка ячейки, вплоть до стирания клавишей delete, но с возможностью выбора выпадающего списка, то есть данные в ячейку заносятся только через выпадающий список и стирание, в моём случае онуление, происходит то же через него путём выбора пустого значения, сможете мне помочь? [moder]Прочитайте Правила форума. Цитирование всего поста запрещено. На первый раз почистил
как поняла: ячейка А1 - без защиты, А2 - с защитой. Объединяем А1:А2 макросом (Вашим), ставим защиту на лист.
Здравствуйте! Вы мне давали совет касаемо защиты ячеек, в результате не совсем то, что хотелось. Моей задачей является полная блокировка ячейки, вплоть до стирания клавишей delete, но с возможностью выбора выпадающего списка, то есть данные в ячейку заносятся только через выпадающий список и стирание, в моём случае онуление, происходит то же через него путём выбора пустого значения, сможете мне помочь? [moder]Прочитайте Правила форума. Цитирование всего поста запрещено. На первый раз почистилadamm1603
Сообщение отредактировал _Boroda_ - Вторник, 12.04.2016, 10:49
Попробуйте "Разрешить изменение диапазонов". У меня получилось использовать выпадающий список и действия с ячейкой А1 при заблокированных остальных
Попробуйте "Разрешить изменение диапазонов". У меня получилось использовать выпадающий список и действия с ячейкой А1 при заблокированных остальныхpabchek
"Учиться, учиться и еще раз учиться!" WM: R399923528092
Сообщение отредактировал pabchek - Вторник, 12.04.2016, 17:03
Sub Merge_Cell_With_Format() Dim rRange As Range, rMrgRange As Range, wsTempSh As Worksheet, wsActSh As Worksheet Application.ScreenUpdating = False: Application.DisplayAlerts = False Set wsActSh = ActiveSheet: Set wsTempSh = Sheets.Add(, Sheets(Sheets.Count)): wsTempSh.Name = "Бракозябула_вот_так_сам_в_шоке" wsActSh.Activate Set rRange = Selection: rRange.Copy wsTempSh.Range(rRange.Address) Set rMrgRange = wsTempSh.Range(rRange.Address) Sheets("Лист1").Unprotect rMrgRange.Merge: rMrgRange.Copy: rRange.PasteSpecial xlPasteFormats: wsTempSh.Delete Sheets("Лист1").Protect Set wsActSh = Nothing: Set wsTempSh = Nothing: Set rMrgRange = Nothing: Set rRange = Nothing Application.ScreenUpdating = True: Application.DisplayAlerts = True End Sub
[/vba]
Или если нужно не только использовать список, а и макрос, попробуйте код [vba]
Sub Merge_Cell_With_Format() Dim rRange As Range, rMrgRange As Range, wsTempSh As Worksheet, wsActSh As Worksheet Application.ScreenUpdating = False: Application.DisplayAlerts = False Set wsActSh = ActiveSheet: Set wsTempSh = Sheets.Add(, Sheets(Sheets.Count)): wsTempSh.Name = "Бракозябула_вот_так_сам_в_шоке" wsActSh.Activate Set rRange = Selection: rRange.Copy wsTempSh.Range(rRange.Address) Set rMrgRange = wsTempSh.Range(rRange.Address) Sheets("Лист1").Unprotect rMrgRange.Merge: rMrgRange.Copy: rRange.PasteSpecial xlPasteFormats: wsTempSh.Delete Sheets("Лист1").Protect Set wsActSh = Nothing: Set wsTempSh = Nothing: Set rMrgRange = Nothing: Set rRange = Nothing Application.ScreenUpdating = True: Application.DisplayAlerts = True End Sub