Как удалить чекбоксы в эксель
Перейти к содержимому

Как удалить чекбоксы в эксель

  • автор:

Как продублировать флажки и при этом чтобы они правильно работали в Excel?

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

Как продублировать флажки для каждой ячейке, при это не копировать каждый флажок и отдельно настраивать, чтобы при включеном флажке показывалась значение, а при выключеном «-» не показвалось?

Отслеживать
2,310 2 2 золотых знака 11 11 серебряных знаков 39 39 бронзовых знаков
задан 8 окт 2021 в 12:29
adam vensic adam vensic

Добро пожаловать на SO! Продублировать (или автоматически создать нужное количество) не очень сложно — этот макрос много раз скопирован в интернете. А вот с «отображением» — будут проблемы. Сам посуди — сбрасываем флажок и видим «-«. А теперь взводим его опять и. Откуда взять затёртое значение?

8 окт 2021 в 12:39

Макросом. Но это тупиковый путь — множить объекты. Использовать событие листа Private Sub Worksheet_SelectionChange(ByVal Target As Range) . При клике на ячейке записывается/удаляется/меняется любое значение (можно и прототип галки поставить, есть такие в шрифтах Wingdings)

8 окт 2021 в 12:41

@vikttur Да, чаще всего это избыточный дизайн. Если речь не идёт об удобстве туповатенькой сотрудницы, которая с компьютером очень «на Вы» и предпочитает «позвать мальчика», чтобы в очередной раз всё сделал за неё, чем взяться за мышку.

8 окт 2021 в 13:05

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Макрос действительно очень простой:

 Private Sub RecreateCheckboxes() Const cDblCheckboxWidth As Double = 16 ' Ширина и высота будущих чекбоксов Const cStrCheckboxPrefix As String = "cbOplata_" ' Часть имени чекбоксов, создаваемых этой процедурой (чтобы не спутать с другими) Dim cb As CheckBox ' Один чекбокс - объект Dim rng As Range ' Диапазон ячеек, к которых чекбоксы будут созданы Dim rCell As Range ' Одна отдельная ячейка из этого диапазона Dim i As Long Application.ScreenUpdating = False ' Заморозить экран на время работы макроса On Error GoTo beforeExit 'Сначала удалить все чекбоксы с префиксом cStrCheckboxPrefix, чтобы не создавать дубли For Each cb In CheckBoxes If Left(cb.Name, Len(cStrCheckboxPrefix)) = cStrCheckboxPrefix Then cb.Delete Next Set rng = . ' Каким-нибудь способом определить диапазон, например, [D5:D30] For Each rCell In rng 'Разместить новый чекбокс в ячейке Set cb = CheckBoxes.Add( _ rCell.Left + rCell.Width / 2 - cDblCheckboxWidth / 2, _ rCell.Top, cDblCheckboxWidth, rCell.Height) 'Задать свойства нового чекбокса With cb .Name = cStrCheckboxPrefix & rCell.Address(False, False) 'Имя чекбокса будет вроде "cbOplata_D7" .Value = rCell.Value ' Сразу взвести или сбросить чекбокс в зависимости от значения в ячейке .LinkedCell = rCell.Address ' Привязать чекбокс к своей ячейке .Display3DShading = True .Characters.Text = "" End With 'Чтобы подавить вывод ИСТИНА/ЛОЖЬ в ячейке - спрячем любое её содержимое rCell.NumberFormat = ";;;" Next rCell beforeExit: Application.ScreenUpdating = True ' Разморозить экран End Sub 

Будем считать, что настоящее значение для оплаты есть в какой-то предыдущей ячейке, а в колонке «Сума для передоплати» только формулы вида

=IF(D7;B7;"-") =ЕСЛИ(D7;B7;"-") 

Не проверял, но должно работать Проверил. Возможно, перед обоими CheckBoxes нужно добавить указание на лист — ActiveSheet.CheckBoxes или что-то подобное.

Как удалить чекбоксы в эксель

Сообщений: 39

Как убрать галочки из Checkbox макросом

Есть несколько checkbox’ов не на форме, а на рабочем листе.
Можно к.-л. сделать, чтобы по нажатию на кнопку (запуск макроса), все галочки убирались?

пример_checkbox.zip (10.3 Кб, 47 просмотров)

Программист VBA

СуперМодератор

Регистрация: 13.07.2008

Сообщений: 6,856

Sub button_34() Dim sha As Shape: On Error Resume Next For Each sha In ActiveSheet.Shapes sha.OLEFormat.Object.Value = 0 Next sha End Sub

__ Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов

EducatedFool
Посмотреть профиль
Найти ещё сообщения от EducatedFool

Регистрация: 05.12.2007

Сообщений: 4,180

Sub Main() Dim Obj As Object For Each Obj In ActiveSheet.DrawingObjects If Obj.Name Like "Check Box*" Then Obj.Value = False Next End Sub

Чем шире угол зрения, тем он тупее.

Пользователь

Регистрация: 23.02.2010

Сообщений: 39

спасибо, работает

Форумчанин

Регистрация: 29.10.2008

Сообщений: 294

Sub button_34() For i = 1 To ActiveSheet.Shapes.Count - 1 ActiveSheet.Shapes("Check Box " & i).Select: Selection.Value = False Next [A1].Select End Sub

Пользователь

Регистрация: 09.12.2008

Сообщений: 56

novak_26, если честно — не понял глубинного смысла задачи. если только так, для красоты.
Обращаться к элементу — не удобно. Может просто связать с ячейкой? тогда уже можно говорить об обработке данных просто формулами и макросом обратиться к ячейке/диапазону проще

обычно я на http://planetaexcel.ru/forum.php

Регистрация: 24.01.2011

Сообщений: 3,028

здравствуйте, может кто подсказать это же решение но в Ворде? спасибо

Ципихович Эндрю
Посмотреть профиль
Найти ещё сообщения от Ципихович Эндрю

Регистрация: 24.01.2011

Сообщений: 3,028

For i = 1 To ActiveDocument.InlineShapes.Count ActiveDocument.InlineShapes(i).OLEFormat.Object.Enabled = True ActiveDocument.InlineShapes(i).OLEFormat.Object = True ActiveDocument.InlineShapes(i).OLEFormat.Object = False Next i
Ципихович Эндрю
Посмотреть профиль
Найти ещё сообщения от Ципихович Эндрю
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить цвет CheckBox’a —=SaNitinDG=- Assembler — Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 18.01.2010 13:53
Как сделать checkbox случайным? Serg-Grin Общие вопросы Delphi 9 20.10.2009 21:49
Как красивей проверить, установлены ли галочки на нескольких checkbox’aх? mosq Общие вопросы Delphi 5 28.09.2009 18:58
Как правильно испльзовать CheckBox Pirotexnik Общие вопросы Delphi 9 27.03.2009 16:01
Убрать галочку с Checkbox Romanbl4 JavaScript, Ajax 3 05.11.2008 23:06

Скрытие отмеченных строк (с использованием элементов управления Checkbox, или без них)

Использование элементов управления Checkbox для скрытия и отображения строк

В третьем варианте для скрытия строк применён автофильтр.

  • 33847 просмотров

Комментарии

Гость, 11 Июл 2018 — 15:36. #1

Подскажите, пожалуйста, возможно ли в LinkedCell вместо «ИСТИНА» написать «1» (когда флажок установлен), вместо «ЛОЖЬ» — «2» (флажок снят)?

Игорь (администратор сайта), 30 Авг 2017 — 20:23. #2

Здравствуйте, Виктор.
Можно ускорить, если скрывать сразу все строки (одновременно)
Пример кода можно посмотреть здесь:
http://excelvba.ru/code/ConditionalRowsDeleting
возможно, надо будет переделать с проверки значений ячеек на проверку чекбоксов

Виктор, 30 Авг 2017 — 14:59. #3

Здравствуйте! Пробовал разобраться во втором варианте (вкладка «нормальные чекбоксы»). В случае когда большое количество строк с чекбоксами (допустим 150 строк, а не 5 как в примере), макрос для скрытия выполняется очень долго. Тажке, скорость его выполнения почему-то зависит от наличия значений на других листах (чем больше значений на других листах, тем он медленнее). Что можно сделать, чтобы скорость макроса была выше при большом количестве скрываемых строк?

Игорь (администратор сайта), 14 Июн 2017 — 20:49. #4

Ну так понятно, что должны быть в книге эти объекты, — и галочка с именем CheckBox1, и подключение с именем «http://excelvba.ru»
А если их нет, — конечно ошибку будет макрос выдавать
Если сами не разберетесь, — можем сделать под заказ

Михал Иваныч, 14 Июн 2017 — 20:38. #5

Игорь так же Ошибка «Run-time error 424 object required на строке:

CheckBox1.Enabled = False: ActiveWorkbook.Connections(«http://excelvba.ru»).Refresh

Может необходимо создание объекта на запрос? ,но я могу быть ошибаться.

Игорь (администратор сайта), 14 Июн 2017 — 20:11. #6

Как-то так можно сделать:

Sub CheckBox() Select Case True Case CheckBox1.Value CheckBox1.Enabled = False: ActiveWorkbook.Connections("http://excelvba.ru").Refresh Case CheckBox2.Value CheckBox2.Enabled = False: ActiveWorkbook.Connections("http://abvlecxe.ru").Refresh Case CheckBox3.Value MsgBox "включена третья галочка, а первые две - нет" Case Else MsgBox "Ни одной галочки не включено" End Select End Sub

Михал Иваныч, 14 Июн 2017 — 19:27. #7

Помогите пожалуйста с кодом, выдает ошибку 424 ,((
Задача при проставленной галочке в чекбоксе макрос дает запрос, если нет галочки переходим на следующий запрос.

Sub CheckBox()
If CheckBox1.Value = True Then
ActiveWorkbook.Connections(«http://excelvba.ru»).Refresh
CheckBox1.Enabled = False
End If
End Sub
Sub CheckBox()
If CheckBox2.Value = True Then
ActiveWorkbook.Connections(«http://abvlecxe.ru»).Refresh
CheckBox1.Enabled = False
End If
End Sub

Андрей, 18 Янв 2017 — 13:50. #8

Если бы так просто. Это поле неактивно (серое) в свойствах чекбокса. Поэтому при сортировке перемещаются только ячейки, чекбоксы на месте стоят.
Как его «пометить», желательно программно — хз.
Обходной вариант — перерисовывать чекбоксы после сортировки, но как отловить эту самую сортировку.

Игорь (администратор сайта), 17 Янв 2017 — 16:29. #9

Здравствуйте, Андрей
Выделите все чекбоксы, и в свойствах поменяйте режим привязки к ячейкам (опция «перемещать и изменять вместе с ячейками»)

Андрей, 17 Янв 2017 — 12:47. #10

Подскажите пожалуйста, как привязать чекбокс к ячейке? Проблема в следующем: на листе есть автофильтр один из столбцов которого реализован в виде чекбоксов. все прекрасно работает при фильтрации строк, но если применить сортировку то привязка чекбокса «слетает». Например: Автофильтр 50 строк столбец «А» — чекбоксы связанные (.LinkedCell=»$A$2) с ячейками в которые вписаны. После применения сортировки в автофильтре чекбоксы становятся связаны с произвольной ячейкой столбца «А». (чекбокс изначально нарисованный и связанный с ячейкой «А2» после сортировки становится связан с ячейкой «А9», но рисуется по прежнему в «А2»)

Игорь (администратор сайта), 10 Окт 2013 — 08:16. #11

Юля, а какое отношение ваш вопрос имеет к теме статьи?

Макрос для вашего случая (делает выделенные ячейки полужирными)

Selection.font.bold = TRUE

Юля, 10 Окт 2013 — 07:36. #12

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

Игорь (администратор сайта), 17 Окт 2012 — 01:02. #13

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

В моём же примере всё работает — возьмите код оттуда.
И обратите внимание — чекбоксы (галочки) бывают двух видов, используйте тот код, который идёт для используемых вами чекбоксов.

Если сами не разберетесь — оформляйте заказ, прикрепляйте файл, объясняйте, как что должно работать, — тогда сам все сделаю (не бесплатно)

Сергей, 17 Окт 2012 — 00:28. #14

Доброй ночи!
смотрю и никак не пойму с чекбоксами. имеется ряд столбцов (согласно вашего примера делаем две кнопки — скрыть и отобразить) с яцейки столбцов ставим чек боксы. далее не пойму что и где писать что б работала кнопка спрятать те что без галочки. Помогите пожалуйста если не затруднит (офис 2007 винда 7/64)
С уважением, Сергей!

Nika.Dn, 30 Сен 2012 — 17:15. #15

Вообще-то данные из Access у меня загружаются именно при активации листа, а потом таблицы динамически обновляются и изменяются при переключении по гипперссылкам (своего рода меню такое), при этом один и тот же лист может быть активным, поэтому галочки проставляются как при активации листа, так и при прохождении по пунктам моего меню. Судя по всему ОДИН раз галочки проставить не получится

Игорь (администратор сайта), 29 Сен 2012 — 12:35. #16

Код можно писать куда угодно — в любой модуль. Вызывать его можно тоже из любой процедуры.

Вот вариант кода, который не будет удалять элементы ActiveX, и не будет ошибочно ставить галочки в ячейку a1

Sub ПреобразоватьЛогическиеЗначенияВГалочки() On Error Resume Next: Application.ScreenUpdating = False Dim sh As Worksheet, cell As Range, ra As Range, sha As Shape Const chsize = 15 ' размеры чекбокса ' перебираем все листы For Each sh In ActiveWorkbook.Worksheets For Each sha In sh.Shapes ' перебираем все графические объекты ' удаляем элементы управления из набора «Формы» If sha.Type = msoFormControl Then sha.Delete Next sha ' все «логические» ячейки на листе Set ra = Nothing: Set ra = sh.UsedRange.SpecialCells(xlCellTypeConstants, xlLogical) If Not ra Is Nothing Then ' перебираем все «логические» ячейки For Each cell In ra.Cells ' делаем текст ячейки невидимым cell.Font.Color = vbWhite ' вычисляем координаты для вставки чекбокса x = cell.Left + cell.Width / 2 - chsize / 2 y = cell.Top + cell.Height / 2 - chsize / 2 ' вставляем чекбокс в центр ячейки With sh.CheckBoxes.Add(x, y, chsize, chsize) .Value = CBool(cell) .LinkedCell = cell.Address .Display3DShading = False .Caption = "" End With Next cell End If Next sh Application.ScreenUpdating = True ' тот редкий случай, когда эта строка необходима End Sub

PS: Зачем каждый раз при активации листа заново проставлять все галочки?
ОДИН РАЗ запустите код (после импорта данных из access) — и больше не надо.

Nika.Dn, 29 Сен 2012 — 05:01. #17

Простите, возникли вопросы, куда писать этот код? Где вызывать процедуры? Почему у меня в книге удалились элементы ActiveX (в основном Data Picker 6.0)? Почему чекбокс стоит в ячейке A1 на всех листах?
P.S. Код сначала вставила в модуль книги, потом перенесла его в обычный, который отвечает за интерфейс и вызвала процедуру в WorkSheet_Activаte

Nika.Dn, 29 Сен 2012 — 04:16. #18

Спасибо Вам, Игорь, огромное. Смотрю на код и понимаю, что сама бы я до такого не додумалась. Вернее гипотетически я понимаю что нужно сделать, а как на VBA записать еще толком не знаю. Еще раз СПАСИБО!

Игорь (администратор сайта), 29 Сен 2012 — 02:43. #19

Сделал я вам макрос для замены логических значений на галочки,
без изменения значений в ячейках.
Работает для всех листов активной книги.

Sub ПреобразоватьЛогическиеЗначенияВГалочки() On Error Resume Next: Application.ScreenUpdating = False Dim sh As Worksheet, cell As Range ' перебираем все листы For Each sh In ActiveWorkbook.Worksheets Const chsize = 15 sh.DrawingObjects.Delete ' перебираем все «логические» ячейки For Each cell In sh.UsedRange.SpecialCells(xlCellTypeConstants, xlLogical).Cells ' делаем текст ячейки невидимым (белым) cell.Font.Color = vbWhite ' вычисляем координаты для вставки чекбокса x = cell.Left + cell.Width / 2 - chsize / 2 y = cell.Top + cell.Height / 2 - chsize / 2 ' вставляем чекбокс в центр ячейки With sh.CheckBoxes.Add(x, y, chsize, chsize) .Value = CBool(cell) .LinkedCell = cell.Address .Display3DShading = False .Caption = "" End With Next cell Next sh Application.ScreenUpdating = True ' тот редкий случай, когда эта строка необходима End Sub
Sub УдалитьВсеГрафическиеОбъекты() On Error Resume Next: On Error Resume Next For Each sh In ActiveWorkbook.Worksheets ' перебираем все листы sh.DrawingObjects.Delete ' удаляем чекбоксы Next sh End Sub

Результат (слева — что было, справа — что стало)

Вставка чекбоксов (галочек) вместо логических значений в Excel

Nika.Dn, 29 Сен 2012 — 02:12. #20

Да для простого отображения, не оч. красиво смотрится ИСТИНА или ЛОЖЬ в ячейках, гораздо красивее галочки (а вот какие лучше использовать, подскажите пожалуйста Вы: мне больше понравились те, которые шрифтом делаются, но так, Вы говорите, нужно менять значение ячеек). Так как таблица заполняется данными из БД Access, то ничего естественно менять в данных не нужно, просто показать, причем макрос (т.е. процедура) наверное должен быть глобальным, так как таблицы будут все из БД и в некоторых из них будут логические поля(столбцы). Вообщем при активации листа, после выполнения

LO.DataBodyRange.CopyFromRecordset Recordset

где LO — объект «умная таблица»
просматриваем таблицу на наличие логических значений и там где ИСТИНА, отображаем галочку, а где ЛОЖЬ — пустая ячейка соответственно, при этом значения в ячейке не меняем, т.к. в БД должны сохраниться логические значения. Но тогда придется с ячейками связывать чекбоксы, а это будет по-любому притормаживать.(Не хотелось бы). Данные будут редактироваться либо формой, либо (что скорее всего) элементами ActiveX над самой таблицей, строки будут изменяться, удаляться или добавляться в таблицу динамически, и только после этого сохраняться обратно в БД.

Игорь (администратор сайта), 28 Сен 2012 — 12:03. #21

А какие «галочки» вас интересуют?
Который выполнены при помощи чекбоксов, или буквой «a» шрифтом Marlett?
Сделать-то можно, но это будет макрос, заменяющий в таблице одни значения другими
Обратную операцию (возврат логических значений в ячейки) тоже надо будет делать, при активации любого другого листа?

Создаваемые «галочки» должны менять значение ячеек?
Можно написать макрос, который всем логическим ячейкам назначит белый цвет шрифта, и поверх каждой такой ячейки нарисует чекбокс, связанный с этой ячейкой.
Но — при большом объёме данных это будет заметно тормозить (тысячи графических объектов на листе заметно снизят скорость работы с данными)

Для чего это надо сделать? (для удобства работы, для вывода на печать, ещё что-то?)
Может, есть какой-то более простой способ.

Nika.Dn, 28 Сен 2012 — 11:02. #22

Здравствуйте, Игорь!
У меня такой вопрос, а если необходимо отображать галочки не по щелчку мышки, а сразу при активации листа, как это сделать программно?
То есть имеем ListObject, и в ней определенные столбцы логического типа. При создании и отображении в ячейках пишутся значения true и false соответственно. Можно ли сделать так, чтобы отображались ваши «галочки»? Грубо говоря, нужно обойти все ячейки в таблице (независимо от количества строк и столбцов) и превратить значения true в «галочки»

Игорь (администратор сайта), 18 Июн 2012 — 23:14. #23

Здравствуйте, Елена.
Какую ещё мою процедуру, в какой исходный код, зачем?
Я лишь показал вам пример кода VBA для работы с «умной таблицей» (списком Excel 2003).
Этот код не создаёт таблицу, а работает с ней.

Вам на форум по Excel лучше обратиться, — там вам подскажут (я с СУБД пока не дружу).
Да и вопрос ваш не имеет никакого отношения к теме статьи.

nika.dn, 18 Июн 2012 — 22:21. #24

А разве она не соэдается динамически? Если нет то как ее создать на указанном или активном листе? Я так поняла, что Вашу процедуру нужно записать в исходном коде нужного мне листа и вызвать ее в Worksheeet_Activate. Мне собственно нужночтобы при выборе листа создавалась таблица с данными из базы данных Access по конкретному запросу. Поскольку аналогичным образом у меня будут открываться почти все листы (динамически и программным кодом VBA создаваться таблицы, элементы управления: текстовые поля, выпадающие списки и др.), то малюсенький пример использования мне бы помог. Если сможете, то помогите, пожалуйста. Связь с БД я использую через ADO (это потому что возможно буду переходить на SQL Server) И еще вопрос по существу, посоветуйте, пожалуйста, как профессионал, какую СУБД лучше использовать вместе с Excel и с помощью чего к ней подключаться. Я много в инете об этом читала, но ответов еа свой вопрос так и нре рнашла, так как в этом вопросе я не специалист. Я понимаю, что все зависит от конкретной задачи. У меня обычная реляционная БД с претензией на объектно-реляционную БД (отсюда и возможный переход на SQL Server)ю Задача — учет торговли и склада (остатки, движение товара и денег) — специфический, поэтому и не использую готовые программы (такие как 1С и т.п.), а пишу сама. Выбор пал на Excel, так как и Вы думаю, что нерешаемых задач в Excele нет (если конечно знать VBA, хотя бы % на 20 от Вашего). Не посчитайте за наглость или за грубую лесть мои высказывания. С уважением, Елена

Игорь (администратор сайта), 18 Июн 2012 — 17:44. #25

Если строка Set LO = ActiveSheet.ListObjects(1)
выдаёт такую ошибку, значит, на активном листе Excel нет ни одной «умной таблицы».

nika.dn, 18 Июн 2012 — 16:31. #26

Здравствуйте, Игорь.
Похоже, что «умная таблица» оказалась умнее меня :(. Попробовала поюзать ваш код-пример. В строке
Set LO = ActiveSheet.ListObjects(1)
пишет ошибку run-time error ‘9’ Subscript out of range
Что не так?
У меня Office 2010 Windows7

nika.dn, 24 Май 2012 — 18:26. #27

Ой, спасибо, Вам, Игорь, большое за быстрый ответ. Дальше я с этой таблицей сама разбираться буду. Ух, я ее. А то в последнее время только она меня. (Шутка)
Извините за оффтоп и еще раз огромное спасибо

Игорь (администратор сайта), 24 Май 2012 — 13:18. #28

Вот вам пример кода для работы с «умной таблицей»:
(в Excel 2003 эта умная таблица носила название «список»)

Sub test() Dim LO As ListObject ' «умная таблица» ' указываем имя или номер умной таблицы (списка) Set LO = ActiveSheet.ListObjects(1) ' красим в красный цвет диапазон с данными LO.DataBodyRange.Interior.Color = vbRed ' красим в зеленый цвет заголовок умной таблицы LO.HeaderRowRange.Interior.Color = vbGreen ' заполняем первый столбец умной таблицы (списка) данными Dim cell As Range For Each cell In LO.DataBodyRange.Columns(1).Cells cell = "Ячейка " & cell.Address Next cell ' заполняем второй столбец таблицы «галочками» LO.DataBodyRange.Columns(2).Value = "a" LO.DataBodyRange.Columns(2).Font.Name = "Marlett" End Sub

Подробнее — во встроенной справке по объекту ListObject

nika.dn, 24 Май 2012 — 11:51. #29

Игорь, огромное Вам СПАСИБО за помощь. Дело в том, что я долгое время не могла решить проблему с CheckBox-ами в ячейках. Сама пробовала, инет перешерстила вдоль и поперек, даже на киберфоруме помощи просила. Ответ один — вставить чекбоксы в ячейку нельзя. А если и можно, то там к координате top привязка. А у меня «умная» или не очень 🙂 динамическая таблица, которая заполняеся из БД Access динамически и мне нужно было выделять определенные строки и обрабатывать их прямо в коде. Вставлять в ячейку контролы и привязывать их руками нереально (так как нужно это в зависимости от количества строк в таблице БД динамически, а это только кодом) Вообщем хочу поблагодарить вас за идею ставить галочки в ячейке шрифтом — идеальный вариант для динамических таблиц. Только вот подсказали бы Вы мне, начинающей в области VBA, как работать с «умной таблицей» как с объектом VBA в коде, то бишь программно. Я просто не могу найти нигде информации: ищу то ли плохо, то ли все не там.

Вячеслав, 17 Авг 2011 — 19:01. #30

Спасибо, попробуем прикрутить

покупка

Возможно, у вас есть лист с множеством флажков, и теперь вы хотите их удалить. Есть ли какие-нибудь быстрые способы удалить их, кроме удаления их по одному вручную?

Удалите несколько флажков с помощью команды Go TO

Перейти к Команда может выбрать множество типов элементов управления, включая флажки. Если на вашем листе есть только объекты управления флажками, этот метод может помочь вам выбрать несколько флажков и удалить их сразу.

1. Нажмите Главная > Найти и выбрать > Перейти к специальномуИ Перейти к Special появится диалоговое окно. В диалоговом окне выберите Объекты из файла Выберите . Смотрите скриншот:

документ удалить флажки 1

2. Затем нажмите OK, и все флажки установлены, см. снимок экрана:

документ-удалить-checkboxes1

3, Затем нажмите Удалить нажмите на клавиатуре, чтобы удалить эти отмеченные флажки.

Внимание: Если на том же листе есть другие объекты, этот метод также удалит их.

Удалить сразу все выбранные флажки на листе Excel:

Kutools for ExcelАвтора Флажки пакетного удаления Утилита поможет вам быстро удалить сразу несколько флажков. Подробнее об этой функции .

документ-удалить-checkboxes3

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Удалите несколько флажков с помощью функции выбора объектов

Для Выбрать объекты функции, вы также можете установить флажки.

1. Нажмите Главная > Найти и выбрать > Выбрать объекты. Смотрите скриншот:

документ-удалить-checkboxes2

2. Затем перетащите мышь, чтобы выбрать диапазон, содержащий флажки, которые вы хотите установить. Смотрите скриншот:

документ-удалить-checkboxes3

3. Затем нажмите Удалить клавишу на клавиатуре. И галочки будут сняты.

Внимание: Если диапазон содержит другие объекты, он выберет другие объекты. После снятия флажков следует нажать Выбрать объекты еще раз, чтобы отключить эту функцию.

Удалить несколько флажков с помощью кода VBA

Следующий короткий код VBA также может удалить несколько флажков. Пожалуйста, сделайте следующие шаги:

1. Нажмите Застройщик > Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, и введите в модуль следующий код:

Код VBA: удалить все флажки на текущем листе

Sub RemoveCheckboxes() On Error Resume Next ActiveSheet.CheckBoxes.Delete Selection.FormatConditions.Delete End Sub 

2. Затем нажмите кнопку для выполнения кода. И все флажки на текущем листе были удалены.

Удалите несколько флажков с помощью Kutools for Excel одним щелчком мыши

Здесь я могу представить вам простой и быстрый инструмент — Kutools for Excel, С его Флажки пакетного удаления утилиту, вы можете удалить все флажки в выбранном диапазоне или на всем листе.

После установки Kutools for Excel, пожалуйста, сделайте следующее 🙁 Бесплатная загрузка Kutools для Excel сейчас )

1. Установите флажки, которые хотите удалить.

2. Затем нажмите Кутулс > Удалить > Флажки пакетного удаления, см. снимок экрана:

документ-удалить-checkboxes2

3. И тогда выбранные вами флажки будут сразу удалены.

Добавьте или вставьте несколько флажков одним щелчком мыши

Вставляйте несколько флажков в выборки одним щелчком мыши:

Kutools for Excel‘s Флажки пакетной вставки Утилита может помочь вам быстро установить сразу несколько флажков. Нажмите, чтобы бесплатно загрузить эту функцию.

док вставить несколько флажков 10

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Вставьте и удалите несколько флажков с помощью Kutools for Excel

Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!

Связанные статьи:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *