Макросы для Excel

Включение и отключение макросов через меню разработчика

Основное внимание мы уделим процедуре включения и отключения макросов в самой популярной и распространённой на сегодня версии программы — Excel 2010. Потом, более бегло поговорим о том, как это сделать в других версиях приложения.

Включить или отключить макросы в Microsoft Excel можно через меню разработчика. Но, проблема состоит в том, что по умолчанию данное меню отключено. Чтобы его включить, переходим во вкладку «Файл». Далее, кликаем по пункту «Параметры».

В открывшемся окне параметров, переходим в раздел «Настройка ленты». В правой части окна данного раздела устанавливаем галочку около пункта «Разработчик». Жмем на кнопку «OK».

После этого, на ленте появляется вкладка «Разработчик».

Переходим во вкладку «Разработчик». В самой правой части ленты расположен блок настроек «Макросы». Чтобы включить или отключить макросы, кликаем по кнопке «Безопасность макросов».

Открывается окно центра управления безопасностью в разделе «Макросы». Для того, чтобы включить макросы, переставляем переключатель в позицию «Включить все макросы». Правда, данное действие разработчик не рекомендует выполнять в целях безопасности. Так что, всё выполняется на свой страх и риск. Жмем на кнопку «OK», которая расположена в нижнем правом углу окна.

Отключаются макросы тоже в этом же окне. Но, существует три варианта отключения, один из которых пользователь должен выбрать в соответствии с ожидаемым уровнем риска:

  1. Отключить все макросы без уведомления;
  2. Отключить все макросы с уведомлением;
  3. Отключить все макросы, кроме макросов с цифровой подписью.

В последнем случае, макросы, у которых будет иметься цифровая подпись, смогут выполнять задачи. Не забываем жать на кнопку «OK».

Включение и отключение макросов через параметры программы

Существует ещё один способ включения и отключения макросов. Прежде всего, переходим в раздел «Файл», и там жмем на кнопку «Параметры», как и в случае включения меню разработчика, о чем мы говорили выше. Но, в открывшемся окне параметров, переходим не в пункт «Настройка ленты», а в пункт «Центр управления безопасностью». Кликаем по кнопке «Параметры центра управления безопасностью».

Открывается то же самое окно Центра управления безопасностью, в которое мы переходили через меню разработчика. Переходим в раздел «Параметры макросов», и там включаем или отключаем макросы тем же способом, как делали это в прошлый раз.

Настройка макросов в Параметрах программы

  1. Заходим в меню «Файл», и выбираем в нем пункт «Параметры» – аналогично первому пункту в рассмотренном ранее примере.
  2. Но теперь вместо настроек ленты, выбираем раздел “Центр управления безопасностью”. В правой части окна щелкаем на кнопку “Параметры центра управления безопасностью…”
  3. В итоге система нас направит в окно с настройками макросов, которое открывалось и при выполнении операции во вкладке Разработчика. Далее выбираем нужную нам опцию и кликаем “OK”.

Встроенная функция рабочего листа

Функция VBA Trim удаляет пробелы только по краям строки, не затрагивая двойные, тройные и т.д. пробелы внутри текста. Для удаления всех лишних пробелов следует использовать встроенную функцию Trim рабочего листа Excel.

Пользовательская функция

Можно бороться с лишними пробелами и с помощью пользовательской функции:

Удаление при помощи сортировки

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

Удаление при помощи выделения группы ячеек

Для того чтобы удалить пустые строки в 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. 1
    Откройте таблицу Excel с макросами. Дважды щелкните по файлу Excel с макросом, который вы хотите удалить. Файл откроется в Excel.
  2. 2
    Нажмите Включить содержимое. Эта опция находится на желтой полосе в верхней части окна Excel. Макросы, встроенные в файл, будут активированы.

    • Если не включить макрос, удалить его не получится.
  3. 3
    Щелкните по вкладке Вид. Она находится на зеленой ленте в верхней части окна Excel.
  4. 4
    Щелкните по Макросы. Это значок

    в правой части вкладки «Вид». Раскроется меню.

  5. 5
    Нажмите Макросы. Эта опция находится в меню. Откроется всплывающее окно «Макрос».
  6. 6
    Откройте меню «Находится в». Вы найдете его в нижней части окна.
  7. 7
    Выберите Все открытые книги. Эта опция находится в меню.
  8. 8
    Выберите макрос. Нажмите на имя макроса, который вы хотите удалить.
  9. 9
    Щелкните по Удалить. Эта опция находится в правой части окна.
  10. 10
    Нажмите Да, когда появится запрос. Макрос будет удален.
  11. 11
    Сохраните изменения. Нажмите Ctrl+S. Теперь макрос не восстановится, когда вы закроете Excel.

Метод 2 из 2: Mac OS X

  1. 1
    Откройте таблицу Excel с макросами. Дважды щелкните по файлу Excel с макросом, который вы хотите удалить. Файл откроется в Excel.
  2. 2
    Нажмите Включить содержимое. Эта опция находится на желтой полосе в верхней части окна Excel. Макросы, встроенные в файл, будут активированы.

    • Если не включить макрос, удалить его не получится.
  3. 3
    Откройте меню Инструменты. Оно находится в верхней части окна Excel.
  4. 4
    Щелкните по Макрос. Эта опция находится внизу меню «Инструменты». Откроется новое меню.
  5. 5
    Нажмите Макросы. Эта опция находится в меню. Откроется всплывающее окно «Макрос».[1]
  6. 6
    Откройте меню «Находится в». Вы найдете его в нижней части окна.
  7. 7
    Выберите Все открытые книги. Эта опция находится в меню.
  8. 8
    Выберите макрос. Нажмите на имя макроса, который вы хотите удалить.
  9. 9
    Щелкните по . Этот значок находится под списком макросов.
  10. 10
    Нажмите Да, когда появится запрос. Макрос будет удален.
  11. 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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все об Экселе: формулы, полезные советы и решения