Защита ячейки, но возможность работы с раскрывающимся списком
25053
johnnnieyy
Я хочу защитить ячейку, в которой есть раскрывающийся список, но все же хочу, чтобы раскрывающийся список работал.
Когда я пытаюсь защитить его, пользователь не может использовать раскрывающийся список для выбора других элементов или макросов.
Я получаю это сообщение об ошибке
«Ячейка или диаграмма, которую вы пытаетесь изменить, защищена и, следовательно, доступна только для чтения. Чтобы изменить защищенную ячейку или диаграмму, сначала снимите защиту с помощью команды« Незащищенный лист »(вкладка« Обзор », группа« Изменения »). Возможно, вам будет предложено ввести пароль. «.
3 ответа на вопрос
4
rfportilla
Раскрывающийся список прикреплен к ячейке. Вот где хранятся данные. Проверка будет гарантировать, что данные действительны.
Если вы этого еще не сделали, убедитесь, что ячейка не заблокирована. Щелкните правой кнопкой мыши ячейку, выберите ячейки формата и перейдите на вкладку «Защита». Флажок Заблокировано должен быть снят.
Не забудьте пометить это правильно! ;-)
rfportilla 9 лет назад
0
Но вы можете легко вставить данные в эту ячейку, если она не защищена
Firee 8 лет назад
0
Там нет выбора. Но проверка будет гарантировать, что данные приемлемы.
rfportilla 8 лет назад
0
0
Catherine
На моем компьютере (ПК под управлением Excel 2010) сам выпадающий список, кажется, непосредственно прикреплен к ячейке справа. Поэтому, если я хочу раскрывающийся список в A7, я должен разблокировать как A7, так и B7.
Это может быть ошибкой, но это относительно простое исправление.
0
Raja Sekhar
В защищенных листах:
Вставить ссылку ниже в книгу
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim wsh As Variant For Each wsh In Worksheets(Array("Sheet1")) wsh.EnableOutlining = True wsh.Protect UserInterfaceOnly:=True, Password:="", _ DrawingObjects:=False, _ Contents:=True, _ Scenarios:=True, _ AllowFormattingCells:=False, _ AllowFormattingColumns:=False, _ AllowFormattingRows:=False, _ AllowInsertingColumns:=False, _ AllowInsertingRows:=False, _ AllowInsertingHyperlinks:=False, _ AllowDeletingColumns:=False, _ AllowDeletingRows:=False, _ AllowSorting:=False, _ AllowFiltering:=False, _ AllowUsingPivotTables:=False Next wsh Dim Oldvalue As String Dim Newvalue As String On Error GoTo Exitsub If Target.Address = "$C$2" Then 'As required If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub Else: If Target.Value = "" Then GoTo Exitsub Else Application.EnableEvents = False Newvalue = Target.Value Application.Undo Oldvalue = Target.Value If Oldvalue = "" Then Target.Value = Newvalue Else Target.Value = Oldvalue & ", " & Newvalue End If End If End If Exitsub: Application.EnableEvents = True End Sub
Добро пожаловать в Superuser! При предоставлении ответа предпочтительнее указать [какое-либо объяснение ПОЧЕМУ ваш ответ] (http://superuser.com/help/how-to-answer). Это особенно верно для старых вопросов. Пожалуйста, рассмотрите возможность редактирования своего ответа и объяснения, почему это решение.
Stephen Rauch 7 лет назад
0