Защита ячейки, но возможность работы с раскрывающимся списком

25053
johnnnieyy

Я хочу защитить ячейку, в которой есть раскрывающийся список, но все же хочу, чтобы раскрывающийся список работал.

Когда я пытаюсь защитить его, пользователь не может использовать раскрывающийся список для выбора других элементов или макросов.

Я получаю это сообщение об ошибке

«Ячейка или диаграмма, которую вы пытаетесь изменить, защищена и, следовательно, доступна только для чтения. Чтобы изменить защищенную ячейку или диаграмму, сначала снимите защиту с помощью команды« Незащищенный лист »(вкладка« Обзор », группа« Изменения »). Возможно, вам будет предложено ввести пароль. «.

4

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

Похожие вопросы