Customshape 1 как убрать excel
Иногда при разработке интерфейсов программы с помощью форм пользователя(UserForm) бывает необходимо запретить закрытие формы крестиком. Причин много: например на форме много элементов выбора и пользователь не должен просто закрывать форму крестиком, не выбрав что-то конкретное. Или может форма должна висеть постоянно на листе до тех пор, пока программа не сделает все необходимые действия и т.д.
Варианта два
Вариант 1
Можно просто запретить закрывать форму. Это значит, что после нажатия на крестик ничего не произойдет. Для этого надо перейти в модуль формы и на событие QueryClose прописать такой код:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком Cancel = True 'даем VBA понять, что надо отменить закрытие формы End If End Sub
данный код не даст закрыть форму нажатием на крестик, но если форма выгружается другими методами(вроде Unload) - форма закроется. За это отвечает параметр CloseMode, который может принимать следующие значения:
- 0 или vbFormControlMenu - попытка закрытия формы пользователем через элемент управления крестик
- 1 или vbFormCode - закрытие формы через выгрузку методом Unload
- 2 или vbAppWindows - завершение сеанса Windows(в кодах VBA практически не используется)
- 3 или vbAppTaskManager - завершение программы через диспетчер задач(в кодах VBA практически не используется)
Можно(скорее даже нужно!) дать понять пользователю, что он должен сделать что-то конкретное для закрытия формы и что крестиком это сделать нельзя, чтобы он не нервничал и не пытался завершить работу Excel через Clt+Alt+Delete;
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then 'CloseMode = 0 - попытка закрыть форму крестиком MsgBox "Вы должны нажать на кнопку в центре, чтобы закрыть форму", vbInformation, "www.excel-vba.ru" Cancel = True 'даем VBA понять, что надо отменить закрытие формы End If End Sub
Вариант 2
Но порой надо не просто запретить закрывать форму - но и для эстетики убрать заголовок с крестиком вообще - чтобы не смущал пользователя. Здесь чуть посложнее - придется применить функции API. Код надо будет помещать уже на инициализацию формы(событие Initialize), а не на закрытие(QueryClose). Следующий код необходимо будет поместить в самое начало модуля той формы, меню которой требуется убрать(первой строкой или сразу после строк деклараций, таких как Option Explicit, Option Base, Option Compare Text):
Это константы и функции API, которые и будут делать основную работу по удалению меню. Теперь останется на событие инициализации формы применить все эти функции:
Я постарался кратко описать действия с формой в комментариях, поэтому не буду дублировать это еще и отдельным текстом.
После этого кода форма получается более эстетичного вида:
С такой формой у пользователя точно не возникнет желания закрыть форму как-то в обход наших желаний. В коммерческих разработках такой подход будет более правильным. Однако здесь тоже есть недостаток: т.к. строка меню убирается полностью, то форму невозможно переместить при помощи мыши. В каких-то случаях это может мешать, а в каких-то наоборот быть преимуществом. Так или иначе это следует учитывать.
С легкой руки моего старого друга и модератора нашего форума ЮрияМ дополняю статью еще одним кодом. Если на запуск формы применить такой код:
То заголовок будет и можно будет форму за него хватать и перемещать, но крестика на форме вообще не будет:
Для этого кода так(же как и для предыдущего) в модуле формы необходимо разместить приведенные выше функции API.
ВАЖНО: Применяя любой из подходов советую заранее продумать как форма будет вообще закрываться, в том числе в режиме отладки программы. Т.к. если просто вставить этот код, то сами же не сможете закрыть форму - только завершением выполнения кода через Run -Reset.
Как быстро убрать условное форматирование в Excel?
Условное форматирование - очень полезный инструмент в Excel, он может легко помочь вам отформатировать и закрасить ячейки в соответствии с определенными условными критериями, но иногда вам может потребоваться удалить или очистить условное форматирование в Excel. Как удалить условное форматирование в Excel?
Kutools for Excel's Alternate Row / Column Shading utility helps you easily remove all conditional formatting and background shading at the same time in selected range in Excel.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Read More Download the free trial now
Удалите условное форматирование с помощью функции очистки правил
Функция «Очистить правила» может помочь вам быстро и легко удалить условное форматирование в выбранном диапазоне и на всех листах.
Чтобы удалить условное форматирование выбранного диапазона, сделайте следующее:
1. Выберите диапазон, в котором вы хотите удалить условное форматирование.
2. Нажмите Главная > Условное форматирование > Очистить правила > Очистить правила из выбранных ячеек. Смотрите скриншот:
3. И выбранное условное форматирование было удалено. Смотрите скриншоты:
Чтобы удалить условное форматирование всего рабочего листа, сделайте следующее:
Нажмите Главная > Условное форматирование > Очистить правила > Очистить правила со всего листа, и все условное форматирование рабочего листа будет удалено.
Удалить условное форматирование с помощью кода VBA
Следующий код VBA также может помочь вам удалить условное форматирование.
1. Нажмите разработчик >Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, и введите в модуль следующий код:
VBA: удалить условное форматирование
2. Затем нажмите или нажмите F5 нажмите клавишу, чтобы запустить код, и появится окно с напоминанием о выборе диапазона, который вы хотите использовать. Смотрите скриншот:
3. Затем нажмите OK кнопку, и все условное форматирование в выбранном диапазоне было удалено.
Легко удалить условное форматирование и затенение фона с помощью Kutools for Excel
Kutools for ExcelАвтора Альтернативное затенение строки / столбца Утилита может помочь вам одновременно удалить как условное форматирование, так и затенение фона.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Выберите диапазон с условным форматированием или затенением фона, который вы хотите удалить, затем нажмите Кутулс > Формат > Альтернативное затенение строки / столбца. Смотрите скриншот:
2. В Альтернативное затенение строки / столбца диалоговое окно, просто выберите Удалить существующее затенение альтернативной строки вариант в Метод затенения раздел, а затем щелкните OK кнопка. Смотрите скриншоты:
Затем сразу же удаляется все форматирование условий и цвета ручной заливки.
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Как быстро удалить все автофигуры в Excel?
Если вы хотите избавиться от автоматических форм в Excel, вы можете найти простой способ быстро удалить все формы, а не удалять автоматические формы по одной. Следующий хитрый метод поможет вам удалить все автофигуры одним щелчком мыши.
- Удалите все автофигуры на активном листе с помощью функции Перейти в Excel
- Удалите все автофигуры на активном листе с помощью VBA
- Удалите все автофигуры на листе или в книге с помощью Kutools for Excel
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу .
- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Удалите все автофигуры на активном листе с помощью функции Перейти в Excel
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
Если есть только один вид объектов - автофигуры на листе, вы можете удалить все автофигуры с помощью Перейти к функции.
1. Нажмите F5 or Ctrl + G для отображения Перейти к диалоговое окно и щелкните Особый.., см. снимок экрана:
2. Проверьте Объекты, А затем нажмите Ok, он выберет все объекты, см. снимок экрана:
3. Затем нажмите Возврат на одну позицию кнопку, чтобы удалить все автофигуры.
Внимание: Объекты содержат автофигуры, изображения, картинки и т. Д. Применение этого метода приведет к удалению других объектов, кроме автофигур, если на листе есть не только объект автофигур.
Удалите все автофигуры на активном листе с помощью VBA
Использование макроса VBA может помочь вам быстро удалить все автоматические формы на активном листе.
Шаг 1: Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
Шаг 2: нажмите Вставить > Модули, и вставьте следующий макрос в Модули окно.
VBA: удалить все фигуры на активном листе.
Sub DeleteShapes ()
Дим Шп как форма
Для каждой детали в ActiveSheet.Shapes
Шп.Удалить
Следующая Шп
End Sub
Шаг 3: нажмите F5 ключ для запуска этого макроса.
Затем вы увидите, что все фигуры на активном листе быстро удаляются.
Заметки:
1. Этот макрос VBA может удалять только все фигуры на активном листе.
2. Этот макрос VBA может удалять все виды фигур на активном листе, включая изображения, клипы, фигуры, SmartArt, диаграммы, текстовые поля и т. Д.
Удалите все автофигуры на листе или в книге с помощью Kutools for Excel
Если вы хотите удалить только автоматические формы с листа, Kutools for Excel's Удалить иллюстрации и объект может помочь вам удалить определенные фигуры на активном листе, выбранных листах или всей книге одним щелчком мыши.
Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.
Шаг 1: нажмите Кутулс > Удалить иллюстрации и объект.
Шаг 2: В Удалить инструменты диалоговое окно, пожалуйста, отметьте Авто формы вариант и отметьте один из вариантов в заглянуть раздел. См. Следующий снимок экрана:
- Если вы установите флажок Активный лист опция, он удалит все автоматические формы на активном листе;
- Если вы установите флажок Выбранные листы опция, он удалит все автоматические формы на выбранных листах;
- Если вы установите флажок Все листы вариант, он удалит все автоматические формы во всей книге.
Шаг 3: нажмите OK, он удалит все автоматические формы.
Kutools for Excel's Удалить инструменты может помочь нам удалить все диаграммы, линии, изображения, автофигуры, умные рисунки, текстовые поля, связанные объекты OLE и встроенные объекты OLE на активном листе, выбранном листе или на всех листах текущей книги. Нажмите, чтобы узнать больше…
Есть ли уловки для удаления нескольких текстовых полей в книге? Удаление каждого текстового поля по одному занимает много времени. На самом деле, есть несколько способов быстро удалить все текстовые поля:
- Удалите все текстовые поля или другие объекты на активном листе с помощью функции Перейти
- Удалите все текстовые поля на активном листе с кодом VBA
- Удалите все текстовые поля на активном листе, выбранных листах или книге с помощью удобной функции
Удалите все текстовые поля или другие объекты на активном листе с помощью функции Перейти
1. Нажмите F5 or Ctrl + G для отображения Перейти к диалога, а затем нажмите Особый.., см. снимок экрана:
2. В выскочившем Перейти к специальному диалоговое окно, выберите Объекты, А затем нажмите OK кнопка, см. снимок экрана:
3. И все объекты на текущем листе были выбраны сразу, см. Снимок экрана:
4. Затем вам просто нужно нажать кнопку Удалить нажмите клавишу на клавиатуре, чтобы удалить все эти текстовые поля, а также другие объекты.
Внимание: Этот метод не только удалит все текстовые поля, но и удалит все виды фигур на активном листе, включая изображения, клипы, фигуры, SmartArt, диаграммы и т. Д.
Удалите все текстовые поля на активном листе с кодом VBA
Иногда вам может потребоваться удалить только текстовые поля, но оставшиеся другие формы, такие как диаграммы, изображения, макрос VBA будет хорошим выбором для удаления всех текстовых полей только на активном листе, выполните следующие действия:
1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули окно.
Код VBA: удалить все текстовые поля с текущего рабочего листа:
3, нажмите F5 ключ для запуска этого макроса, и удаляются только текстовые поля в текущем листе, см. снимки экрана:
Удалите все текстовые поля на активном листе, выбранных листах или книге с помощью удобной функции
Kutools for Excel's Удалить иллюстрации и объекты может помочь вам удалить только текстовые поля на активном листе, выбранных листах или всей книге, не затрагивая другие фигуры.
Примечание: Чтобы применить это Удалить иллюстрации и объекты, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.
После установки Kutools for Excel, пожалуйста, сделайте так:
1, Нажмите Кутулс > Удалить > Удалить иллюстрации и объекты, см. снимок экрана:
2. В Удалить иллюстрации и объекты диалоговое окно, проверьте Текстовые поля вариант, а затем укажите область, из которой вы хотите удалить текстовые поля, см. снимок экрана:
3, Затем нажмите OK. И все текстовые поля будут удалены сразу на активном листе, выбранных листах или всей книге в соответствии с выбранными вами параметрами.
Советы: Kutools for Excel's Иллюстрации и объекты функция может помочь нам удалить все диаграммы, линии, изображения, автофигуры, умные рисунки, текстовые поля, связанные объекты OLE и встроенные объекты OLE на активном листе, выбранном листе или на всех листах текущей книги по мере необходимости. Нажмите, чтобы узнать больше…
При копировании на рабочий лист Excel информации со страницы из сети Интренет периодически помимо текста вставляются ненужные картинки и различные элементы управления (кнопки, флажки и т.д.). Если их количество значительное, то удалять "вручную" окажется трудоемким процессом.
Имеется несколько способов решить данную проблему: средствами программы Excel и с помощью макроса VBA.
Удаление картинок и объектов в Excel средствами программы
В результате вставки данных со страницы Интернет-сайта скопировались ненужные картинки и элементы управления:
Чтобы удалить ненужные объекты, сначала необходимо выделить эти элементы, для этого перейдите в меню "Главная" -> "Редактирование" -> "Найти и выделить"-> "Выделение группы ячеек" (можно также кликнуть клавишу F5, а затем нажать кнопку "Выделить. ").
В открывшемся окне необходимо выбрать пункт "Объекты" и кликнуть "OK":
В результате Excel выделит все требуемые объекты (если необходимо какие то элементы оставить, то необходимо зажать клавишу Ctrl и левой кнопкой мыши кликнуть на необходимые элементы, для снятия выделения):
Теперь осталось только нажать клавишу Delete, чтобы удалить все выделенные объекты.
Удаление картинок и объектов в Excel с помощью макроса VBA
Указанную выше проблему можно решить, написав в редакторе Visual Basic следующий макрос:
Если же необходимо удалить только картинки, тогда макрос необходимо изменить на:
Можно дополнить макрос еще одной полезной функцией - удаление гиперссылок:
Объединив два действия в одну функцию DeleteObjects будут удалены все объекты и ссылки:
В результате выполнения макроса на листе будут удалены все объекты, а гиперссылки заменятся на обычный текст.
Читайте также: