Note: The other languages of the website are Google-translated. Back to English

Как предотвратить удаление строк или столбцов в общей незащищенной книге?

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

Запретить удаление строк или столбцов в общей книге с помощью VBA

Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу ...
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
  • Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
  • Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
  • Разделить инструменты: Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
  • Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона; Отправляйте персонализированные электронные письма нескольким получателям массово.
  • Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий ...
  • Более 300 мощных функций; Работает с Office 2007-2021 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

стрелка синий правый пузырь Запретить удаление строк или столбцов в общей книге с помощью VBA

1. Нажмите Alt + F11 открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули , чтобы открыть окно модуля, затем скопируйте в окно следующий код VBA.

VBA: запретить удаление строк или столбцов.

Sub StopDeleteRowCols()
'Updateby20221221
Dim xBarControl As CommandBarControl
Application.OnKey "^{-}", ""
For Each xBarControl In Application.CommandBars.FindControls(ID:=293)
    xBarControl.Enabled = False
Next
For Each xBarControl In Application.CommandBars.FindControls(ID:=294)
    xBarControl.Enabled = False
Next
End Sub

3. Нажмите Run или F5 клавишу на клавиатуре, чтобы запустить этот код.

Затем, когда другие щелкают правой кнопкой мыши, чтобы удалить выбранные столбцы или строки, параметр «Удалить» не может быть применен в контекстном меню. Смотрите скриншот:

doc-disable-delete-row-column-1

Кроме того, пользователи не могут использовать сочетания клавиш Ctrl + - для удаления строк или столбцов.

Примечание:

(1) Если вы поделились своей книгой с Обзор > Поделиться книгой, вы больше не можете добавлять макросы VBA. Поэтому вам лучше добавить VBA, прежде чем делиться книгой.

(2) Этот VBA отключит Удалить в контекстном меню во всех книгах, когда вы щелкаете правой кнопкой мыши выбранные столбцы или строки.

(3) Чтобы восстановить Удалить в контекстном меню замените оба Ложь с Правда в VBA выше и снова запустите VBA.


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (7)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Не могли бы вы поделиться кодом vba, чтобы отключить опцию «Вырезать, вставить и удалить» на домашней ленте ??? Однако я знаю код vba, чтобы отключить его, щелкнув правой кнопкой мыши и клавиатуру. Но здесь мне нужен код, чтобы отключить опцию вырезания, вставки и удаления на домашней ленте Excel.
Этот комментарий был сведен к минимуму модератором на сайте
Код Vba для отключения опции удаления, вырезания и вставки в ленте мотыги Excel
Этот комментарий был сведен к минимуму модератором на сайте
Хороший фрагмент кода, но он не мешает пользователю использовать {ctrl} для удаления строк...
Этот комментарий был сведен к минимуму модератором на сайте
привет

Je n'arrive plus à supprimer le fait de supprimer des lignes maintenant que j'ai creer ce code VBA.
Comment se traduit "les Vetitables" en français j'ai эссе "true" mais ça ne fonctionne pas

Merci де Votre réponse
Этот комментарий был сведен к минимуму модератором на сайте
Прости, Санд, я не понимаю по-французски.
Этот комментарий был сведен к минимуму модератором на сайте
Está genial el código! Грациас! Pero esto no bloquea el poder eliminar la fila haciendo CTRL- .....
Sabrías cómo poder bloquearlo también?

Спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я обновил код в статье, вы можете попробовать еще раз, теперь он предотвращает ярлыки и команду удаления.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL