Блокировка TextBox от перемещения и изменения размера листа и только редактирование текста Excel VBA

Я создаю TextBox в vba, где пользователи вводят значение, а затем просматривают его на листе, как вы можете видеть здесь.

введите описание изображения здесь

Моя проблема в том, что я хочу заблокировать этот TextBox от перемещения, и пользователи могут просто редактировать текст внутри поля. Я пытался Свойства и проверил «Заблокировано» и снял флажок «Заблокированный текст», затем защитил лист

Sub protect_TextBox() ActiveSheet.Protect UserInterFaceOnly:=True 'rest of my code... End Sub 

Он заблокировал мой TextBox от перемещения и изменения размера, и пользователи могут редактировать текст только внутри

Но он заблокировал также многие функции, такие как фильтрация, формирование … в основном я могу просто выбрать ячейку больше.

Любые предложения, пожалуйста, как заморозить только TextBox и оставить остальные ячейки незащищенными?

Большое спасибо.

Метод worksheet.protect имеет много аргументов, которые позволяют / запрещают пользователю делать определенные вещи. Большинство аргументов по умолчанию запрещают, если они не указаны в методе worksheet.protect . См. Здесь полный список аргументов метода https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel

Возможно, попробуйте что-то вроде этого:

 Sub protect_TextBox() ActiveSheet.Protect UserInterFaceOnly:=True, AllowFormattingCells:=True, _ AllowSorting:=True, AllowFiltering:=True 'rest of my code... End Sub 

Вы можете увидеть другие аргументы в ссылке и включить все, что вам нужно. Помните, что аргумент по умолчанию – false. Поэтому, если вы не включите их, будет больше ограничений на то, что пользователь может сделать для ячейки.

  • Как я могу суммировать значение в 8 текстовых файлах с одним текстовым полем?
  • Передайте значение текстового поля UserForm в ячейку
  • Получить значения для текстового поля из ячейки Excel в C #
  • Excel 2010 не может вставляться в текстовое поле формы
  • Использование пользовательской формы VBA в Excel 2011 на Mac (запрограммировано в Windows): текстовое поле не работает
  • Как использовать данные, введенные в пользовательскую форму в основном модуле
  • Excel VBA Userform Textbox - выделение изменений, сделанных в разных цветах шрифта
  • Как установить имя текстового поля как переменную и разрешить изменять имя в цикле?
  • Каждый символ в TextBox разного цвета в vba excel
  • Excel - изменение BackColor текстовых полей UserForm и ComboBoxes с помощью VBA
  • Добавление чисел с использованием форм Excel
  • Interesting Posts

    Excel – Formula – Получить n значений из результирующего массива INDEX

    Классификация значений в соответствии с диапазоном

    Отразить данные в листе Excel в приложении для Android

    Проверьте, существует ли конкретный рабочий лист после выбора файла excel в Application.FileDialog

    Функция Excel UDF работает очень медленно при выборе всего столбца

    Установите значение в true, где значение ячейки строки совпадает с другой строкой

    Как получить индекс строки последней непустой ячейки для определенного имени столбца (переданного как аргумент) из листа excel с использованием java?

    Условное форматирование: объединение нескольких проверок

    Использовать переменную в нескольких подмножествах VBA

    Как я могу подсчитать только уникальные вхождения значения из таблицы, используя несколько критериев?

    Имя новых добавленных листов на основе имени переменной или массива

    скопировать результаты формулы из диапазона в другой лист

    Импорт нескольких файлов Excel с помощью OpenPyXL

    Excel – поиск максимального значения с предыдущей строкой и различными размерами диапазона

    ClearAllFilters – не компилирование

    Давайте будем гением компьютера.