- Включение и отключение макросов через меню разработчика
- Включение и отключение макросов через параметры программы
- Настройка макросов в Параметрах программы
- Встроенная функция рабочего листа
- Пользовательская функция
- Удаление при помощи сортировки
- Удаление при помощи выделения группы ячеек
- Макрос для удаления пустых строк
- Макрос для скрытия пустых строк
- Метод 1 из 2: Windows
- Метод 2 из 2: Mac OS X
- Заключение
Включение и отключение макросов через меню разработчика
Основное внимание мы уделим процедуре включения и отключения макросов в самой популярной и распространённой на сегодня версии программы — Excel 2010. Потом, более бегло поговорим о том, как это сделать в других версиях приложения.
Включить или отключить макросы в Microsoft Excel можно через меню разработчика. Но, проблема состоит в том, что по умолчанию данное меню отключено. Чтобы его включить, переходим во вкладку «Файл». Далее, кликаем по пункту «Параметры».
В открывшемся окне параметров, переходим в раздел «Настройка ленты». В правой части окна данного раздела устанавливаем галочку около пункта «Разработчик». Жмем на кнопку «OK».
После этого, на ленте появляется вкладка «Разработчик».
Переходим во вкладку «Разработчик». В самой правой части ленты расположен блок настроек «Макросы». Чтобы включить или отключить макросы, кликаем по кнопке «Безопасность макросов».
Открывается окно центра управления безопасностью в разделе «Макросы». Для того, чтобы включить макросы, переставляем переключатель в позицию «Включить все макросы». Правда, данное действие разработчик не рекомендует выполнять в целях безопасности. Так что, всё выполняется на свой страх и риск. Жмем на кнопку «OK», которая расположена в нижнем правом углу окна.
Отключаются макросы тоже в этом же окне. Но, существует три варианта отключения, один из которых пользователь должен выбрать в соответствии с ожидаемым уровнем риска:
- Отключить все макросы без уведомления;
- Отключить все макросы с уведомлением;
- Отключить все макросы, кроме макросов с цифровой подписью.
В последнем случае, макросы, у которых будет иметься цифровая подпись, смогут выполнять задачи. Не забываем жать на кнопку «OK».
Включение и отключение макросов через параметры программы
Существует ещё один способ включения и отключения макросов. Прежде всего, переходим в раздел «Файл», и там жмем на кнопку «Параметры», как и в случае включения меню разработчика, о чем мы говорили выше. Но, в открывшемся окне параметров, переходим не в пункт «Настройка ленты», а в пункт «Центр управления безопасностью». Кликаем по кнопке «Параметры центра управления безопасностью».
Открывается то же самое окно Центра управления безопасностью, в которое мы переходили через меню разработчика. Переходим в раздел «Параметры макросов», и там включаем или отключаем макросы тем же способом, как делали это в прошлый раз.
Настройка макросов в Параметрах программы
- Заходим в меню «Файл», и выбираем в нем пункт «Параметры» – аналогично первому пункту в рассмотренном ранее примере.
- Но теперь вместо настроек ленты, выбираем раздел “Центр управления безопасностью”. В правой части окна щелкаем на кнопку “Параметры центра управления безопасностью…”
- В итоге система нас направит в окно с настройками макросов, которое открывалось и при выполнении операции во вкладке Разработчика. Далее выбираем нужную нам опцию и кликаем “OK”.
Встроенная функция рабочего листа
Функция VBA Trim удаляет пробелы только по краям строки, не затрагивая двойные, тройные и т.д. пробелы внутри текста. Для удаления всех лишних пробелов следует использовать встроенную функцию Trim рабочего листа Excel.
Пользовательская функция
Можно бороться с лишними пробелами и с помощью пользовательской функции:
1
2
3
4
5
6
7
8
9
|
Function myTrim(text As String) As String
‘Удаляем пробелы слева и справа строки
text = Trim(text)
‘Удаляем лишние пробелы внутри строки
Do While InStr(text, ” “)
text = Replace(text, ” “, ” “)
Loop
myTrim = text
End Function
|
Удаление при помощи сортировки
Когда предстроит удалить достаточно много строк, искать их зрительно не очень удобно. В этом случае можно использовать сортировку по возрастанию либо убыванию для того чтобы пустые строки сгруппировались и после этого удалить их, выделив сразу весь диапазон. При этом очередность строк нарушается и для того, чтобы ее затем восстановить, необходимо предварительно в спомогательном столбце ввести нумерацию всех строк для того чтобы воостановить первоначальную очередность после удаления пустых строк.
Удаление при помощи выделения группы ячеек
Для того чтобы удалить пустые строки в Excel 2007 и 2010 можно использовать возможностью выделения группы ячеек. Для этого выделяем столбец, содержащий пустые ячейки, после чего находим на ленте Excel вкладку “Главная”, в группе “Редактирование” выбираем кнопку “Найти и выделить” и выбираем пункт “Выделение группы ячеек”. В появившемся диалоговом окне “Выделение группы ячеек” включаем опцию “Пустые ячейки” и нажимаем кнопку ОК. В предварительно выделенном столбце будут выделены все пустые ячейки. Остается кликнуть правой кнопкой мыши в любом месте выделенного поля и выбрать пункт “Удалить…” в контекстном меню, а в появившемся диалоговом окне “Удаление ячеек” выбрать пункт “Строка” и нажать ОК. При этом, строго говоря, удаляются не пустые строки, а строки, содержащие пустые ячейки в предварительно выделенном столбце.
Макрос для удаления пустых строк
Как удалить строку макросом? Если нужно сделать так чтобы макрос автоматически не только выделял, но и сам удалял пустые целые и смежные диапазоны ячеек без использования других инструментов, тогда в конце кода для переменной diapaz2.Select следует изменить метод на [Delete]:
diapaz2.[Delete]
Удалить:
SubDelLine()
DimiAs Long
Dimdiapaz1AsRange
Dimdiapaz2AsRange
Setdiapaz1 = Application.Range(ActiveSheet.Range("A1"), _
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell))
Fori = 1Todiapaz1.Rows.Count
IfWorksheetFunction.CountA(diapaz1.Rows(i).EntireRow) = 0Then
Ifdiapaz2Is Nothing Then
Setdiapaz2 = diapaz1.Rows(i).EntireRow
Else
Setdiapaz2 = Application.Union(diapaz2, diapaz1.Rows(i).EntireRow)
End If
End If
Next
Ifdiapaz2Is Nothing Then
MsgBox"Ненайдено ниодной пустой строки!"
Else
diapaz2.[Delete]
End If
End Sub
Пример второго VBA-кода:
Макрос для скрытия пустых строк
Как скрыть пустые строки макросом? Но если вам нужно не удалить, а только скрыть (например, при подготовке документа на печать), тогда эту строку кода следует модифицировать несколько иначе:
diapaz2.EntireRow.Hidden = True
Скрыть:
SubHidLine()
DimiAs Long
Dimdiapaz1AsRange
Dimdiapaz2AsRange
Setdiapaz1 = Application.Range(ActiveSheet.Range("A1"), _
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell))
Fori = 1Todiapaz1.Rows.Count
IfWorksheetFunction.CountA(diapaz1.Rows(i).EntireRow) = 0Then
Ifdiapaz2Is Nothing Then
Setdiapaz2 = diapaz1.Rows(i).EntireRow
Else
Setdiapaz2 = Application.Union(diapaz2, diapaz1.Rows(i).EntireRow)
End If
End If
Next
Ifdiapaz2Is Nothing Then
MsgBox"Ненайдено ниодной пустой строки!"
Else
diapaz2.EntireRow.Hidden =True
End If
End Sub
Пример третьего VBA-кода:
Метод 1 из 2: Windows
-
1Откройте таблицу Excel с макросами. Дважды щелкните по файлу Excel с макросом, который вы хотите удалить. Файл откроется в Excel.
-
2Нажмите Включить содержимое. Эта опция находится на желтой полосе в верхней части окна Excel. Макросы, встроенные в файл, будут активированы.
- Если не включить макрос, удалить его не получится.
-
3Щелкните по вкладке Вид. Она находится на зеленой ленте в верхней части окна Excel.
-
4Щелкните по Макросы. Это значок
в правой части вкладки «Вид». Раскроется меню.
-
5Нажмите Макросы. Эта опция находится в меню. Откроется всплывающее окно «Макрос».
-
6Откройте меню «Находится в». Вы найдете его в нижней части окна.
-
7Выберите Все открытые книги. Эта опция находится в меню.
-
8Выберите макрос. Нажмите на имя макроса, который вы хотите удалить.
-
9Щелкните по Удалить. Эта опция находится в правой части окна.
-
10Нажмите Да, когда появится запрос. Макрос будет удален.
-
11Сохраните изменения. Нажмите Ctrl+S. Теперь макрос не восстановится, когда вы закроете Excel.
Метод 2 из 2: Mac OS X
-
1Откройте таблицу Excel с макросами. Дважды щелкните по файлу Excel с макросом, который вы хотите удалить. Файл откроется в Excel.
-
2Нажмите Включить содержимое. Эта опция находится на желтой полосе в верхней части окна Excel. Макросы, встроенные в файл, будут активированы.
- Если не включить макрос, удалить его не получится.
-
3Откройте меню Инструменты. Оно находится в верхней части окна Excel.
-
4Щелкните по Макрос. Эта опция находится внизу меню «Инструменты». Откроется новое меню.
-
5Нажмите Макросы. Эта опция находится в меню. Откроется всплывающее окно «Макрос».[1]
-
6Откройте меню «Находится в». Вы найдете его в нижней части окна.
-
7Выберите Все открытые книги. Эта опция находится в меню.
-
8Выберите макрос. Нажмите на имя макроса, который вы хотите удалить.
-
9Щелкните по —. Этот значок находится под списком макросов.
-
10Нажмите Да, когда появится запрос. Макрос будет удален.
-
11Сохраните изменения. Нажмите ⌘ Command+S. Теперь макрос не восстановится, когда вы закроете Excel.
Заключение
Благодаря отключению макросов разработчики пытаются обезопасить пользователей от возможных рисков. Однако, в некоторых случаях, их все же, требуется включить. В зависимости от версии программы, и даже в одной и той же версии это может выполняться по-разному. Но независимого от выбранного способа, процедура достаточно проста и не требует глубоких знаний и навыков работы с ПК.
- https://lumpics.ru/how-to-enable-or-disable-macros-in-excel/
- https://MicroExcel.ru/vklyuchenie-i-otklyuchenie-makrosov/
- https://vremya-ne-zhdet.ru/vba-excel/udaleniye-lishnikh-probelov/
- http://macros-vba.ru/makrosy/excel/102-kak-udalit-pustye-stroki-udalenie-pustyh-strok
- https://exceltable.com/vba-macros/makros-udaleniya-pustyh-strok
- https://ru.wikihow.com/%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81-%D0%B2-Excel