Ячейка Excel заблокирована, когда она не заблокирована

У меня возникла точно такая же проблема, как упоминалось в этом посте.

Ячейки Excel заблокированы, когда они не заблокированы

Я пытался попросить разъяснений, отвечая/оживляя ветку, но оказалось, что это неправильный протокол. Я наткнулся на этот пост только после многочисленных поисковых запросов, и это единственное релевантное «попадание», которое я смог найти.

Моя электронная таблица также сложна и безупречно работает в Excel 98, 2003 и 2010. Когда я использую Excel 2013 (и я полагаю, что такая же проблема возникает и в Excel 2016), я обнаруживаю, что незащищенные ячейки (для ввода данных) блокируются после использования кнопка макроса, обычно предназначенная для просмотра графика и последующего возврата. Свойства ячейки подтверждают, что ячейка не защищена.

Читая вышеприведенный пост и ссылки Microsoft, я лишь поверхностно понимаю проблему, т. е. SDI/Single Document Interface.

Вышеуказанный пост получил решение, которое было признано устранившим проблему. Возможно, я не до конца понял, но где бы я ни размещал отрезанный код, мне это не помогло.

Предложенный код был:

Private Sub UserForm_Layout()
  Static fSetModal As Boolean
  If fSetModal = False Then
     fSetModal = True
     Me.Hide
     Me.Show 1
  End If
End Sub

Было еще одно предложение попробовать: MyForm.Show False Я не знал, где это сделать, как в основном предложенном коде для решения.

VBA не понравилось, что я использовал «Я» (Me.Hide/Me.Show 1). Я пытался поместить фрагмент кода в несколько мест... макрос основного открытия, макрос навигации к затронутому листу и обратно, изменение «Я» на имя листа — все безрезультатно. Это лист, но поскольку здесь собраны уникальные переменные, его можно условно рассматривать как «форму».

Раньше я был компетентным любителем, но никогда не был экспертом. Я обращаюсь к доброму человеку, чтобы помочь мне преодолеть эту проблему «Excel 2013». Я пытался и терпел неудачу много раз и потратил много часов, пытаясь исправить только для того, чтобы найти проблему в том, что я использую Excel 2013. Даже сейчас нет проблем с использованием Excel 2010, к которому я могу получить доступ через друга.

Извините, мой первый пост такой подробный и, надеюсь, не слишком сложный. Я только хотел дать правильную информацию о проблеме.


person Newton51    schedule 26.02.2018    source источник
comment
Вы действительно используете пользовательскую форму в своей электронной таблице?   -  person Xabier    schedule 26.02.2018
comment
Существует одна пользовательская форма, которая является всплывающим окном при запуске. Ниже приведен вход в систему через стартовый макрос. Это база данных, в которой записи вызываются на рабочий лист, а их свойства, отношения и т. д. отображаются с помощью формул ячеек. Именно на этом листе незащищенные ячейки для редактирования становятся заблокированными. Некоторые из них можно изменить с помощью ползунка, несмотря на то, что они заблокированы. Это электронная таблица, а не пользовательская форма. Триггерным событием является нажатие кнопки макроса на другой лист. При возврате на лист с помощью кнопки «Возврат» незащищенные ячейки теперь заблокированы, а свойства по-прежнему отображаются как разблокированные.   -  person Newton51    schedule 27.02.2018
comment
не могли бы вы поделиться кодом, который вы используете для загрузки пользовательской формы входа? Спасибо.   -  person Xabier    schedule 28.02.2018
comment
Спасибо за вопрос. Я вставил раздел кода, но получил сообщение слишком длинное на 1100 символов. Я обречен.   -  person Newton51    schedule 01.03.2018