Для чего макросы в excel

MS Excel, на что способны макросы или спасибо Биллу от преподавателей

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel
Идея использовать MS Excel в обучении возникла давно. На форумах с аналогичной тематикой по программированию VBA встречаешь упоминание что Макросы всемогущи. Так ли это?

Предупреждение
Данная статья будет бесполезна, не интересна, противна и непонятна более чем 99,9999999% жителей планеты земля включая самого Билла, а также большинство преподавателей любого учебного заведения.

Постановка задачи

Как известно, Болонский процесс шагает по Российским альма-матер семимильными шагами. И многие уже перешли на балльно-рейтинговую систему (БРС) оценок знаний (http://study.engr.pfu.edu.ru/). А это дополнительно накладывает на преподавателей дополнительную трудовую повинность: вести учёт успеваемости и постоянно публиковать данные в интернет.

Причём первое присутствовало и до БРС, но последнее требует постоянный подсчёт баллов и скрупулезное введение многочисленного массива данных по каждому ведомому предмету. А в дисциплине может присутсвовать несоколько потоков, человек 60 запросто. Т.е ежемесечно в среднем 100 записей проставляются в интернет каждым сотрудником. Занимает это «удовольствие» у всех по-разному. У меня, например, примерно час и ещё половина на проверку. И это не только в институтах. В школах тенденция знать оценки своих чад онлайн проглядывается также. Конечно, это никак не оплачивается. Давайте попробуем автоматизировать данный процесс.

Excel придёт на помощь

Билл, хотя тебя и не любят, но от преподавателей, пользующихся хакнутой версией Винды и Офиса, тебе большое российское СПАСИБО!
Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel
Как видно из картинки, каждый студент может найти своё место в ячейке в табеле о рангах. При этом даже без макросов по формулам автоматом подсчитываюся заработанные баллы.

Осталось написать кусок кода публикующий весь этот беспорядок на сайт. Кратко расскажу о методах достижения нашей цели.
Для публикации необходимо вначале запарсить html код страницы назначения и определить в каком поле расположен тот или иной студент.

Получить html
Function JabberGET(ByVal Urlka As String) As String
Dim objHTTP As Object
Set objHTTP = CreateObject(«MSXML2.XMLHTTP»)
objHTTP.Open «GET», Urlka, False
objHTTP.setRequestHeader «Accept», «text/html»
objHTTP.setRequestHeader «Accept-Language», «ru-ru,ru»
objHTTP.setRequestHeader «Accept-Encoding», «gzip,deflate»
objHTTP.setRequestHeader «Accept-Charset», «windows-1251»
objHTTP.setRequestHeader «Keep-Alive», «115»
objHTTP.setRequestHeader «Connection», «keep-alive»
objHTTP.setRequestHeader «Content-Type», «application/x-www-form-urlencoded»
objHTTP.Send Empty
Debug.Print objHTTP.responseText
JabberGET = objHTTP.responseText
End Function

Парсинг выполняется регулярными выражениями:
Dim RegEx As RegExp, RegMatch As MatchCollection
Dim myMatch As Match
Set RegEx = New RegExp
‘String to parse
With RegEx
.MultiLine = True
.IgnoreCase = True
.Global = True
End With
RegEx.Pattern = «discipline_id..value=.\d<3,4>.|\s>\s.* »
Set RegMatch = RegEx.Execute(MyStr)
If RegMatch.Count > 0 Then
For Each myMatch In RegMatch
тело запроса
Next
End If

Затем пишем код отрывающий Internet Explorer и следующий по кнопкам «Далее» до нужной нам формы:
Dim IE As Object
Set IE = CreateObject(«InternetExplorer.Application»)
Application.DisplayAlerts = False
url = «http://study.engr.pfu.edu.ru/index.php»
IE.Navigate «http://study.engr.pfu.edu.ru/tutor/logout.php»
While IE.Busy: DoEvents: Wend ‘wait until IE is done loading page.

IE.Navigate url
Do Until IE.ReadyState = READYSTATE_COMPLETE: Loop

While IE.Busy: DoEvents: Wend ‘wait until IE is done loading page.
IE.Visible = True
‘ie is now done loading the page
IE.Document.all(«valid_tutor_login»).Value = getpass(0)
IE.Document.all(«valid_tutor_password»).Value = getpass(1)

Call ckickBtn(«Войти», IE)
While IE.Busy: DoEvents: Wend ‘wait until IE is done loading page.
SubjCod = CoursGroupNumber(2, GroupNum)

For Each btn In IE.Document.all.tags(«Input»)
X = btn.Value
If btn.Value = SubjCod Or btn.Value = CourseNum Then
Call btn.Click
End If
Next btn
Call ckickBtn(«Далее>>», IE)

Кликаем по кнопкам следующей функцией:
Function ckickBtn(btm As String, IE As InternetExplorer)
For Each btn In IE.Document.all.tags(«Input»)
X = btn.Value
If btn.Value = btm Then
Call btn.Click
End If
Next btn
While IE.Busy: DoEvents: Wend ‘wait until IE is done loading page.
Do Until IE.ReadyState = READYSTATE_COMPLETE: Loop ‘Loop unitl ie page is fully loaded
End Function

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Форма открыта и данные вводятся на сайт автоматом в соответсвии с полями, полученными на стадии парсинга. Просто и со вкусом.

Перечислим возможности, которых удалось достичь при помощи макросов:
• Автоматический подсчёт баллов обучающихся
• Автоматическая публикация баллов на сайт инженерного факультета http://study.engr.pfu.edu.ru/
• Создание новых рабочих листов с уточненными списками студентов для следующего семестра
• Ведение шаблонов для новых списков в соответствии с предметом и расписанием
• Быстрая фильтрация студентов по нескольким критериям, в том числе и по баллам
• Возможность задать вопрос своему создателю (переписка с поддержкой)
• Программа всегда в курсе последних изменений на сайте инженерного факультета и сама обновляет списки студентов и предметов
• Статистика среднего балла для всех преподавателей инженерного факультета с учётом аттестации и без
• Статистика среднего балла для всех курсов инженерного факультета с учётом аттестации и без

Замечу только, что все перечисленное выше доступно любому пользователю Excel без установки каких-либо дополнительных модулей. Запускается программа не из *.xls, а как *.exe файл, что допускает работать с отключёнными на машине макросами, плюс автоматически создаётся резервная копия.

Ну и напоследок блок-схемка
Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

P.S.
Как быстро ввести баллы на сайт из Excel?
Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Как быстро создать список студентов на следующий семестр?
Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Источник

Работа с макросами Excel для чайников

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

Мы приведем некоторые примеры макросов Excel, которые станут верными помощниками в выполнении наиболее частых задач.

Понятие макроса

Термин «Макрос» слышало множество людей. Нередко при запуске таблицы появляется предупреждение: “Этот документ использует макросы, способные навредить данному компьютеру, поэтому они отключены с целью защиты от вредоносных действий”.

Макрос – действенный способ автоматизировать самые частые действия, которые нужно выполнять в электронных таблицах. Макросы – это разновидность программирования. Разработка этих подпрограмм осуществляется с помощью языка VBA. Впрочем, некоторые виды макросов не требуют навыков программирования. Ведь существует еще такое понятие, как макрорекордер. Достаточно его включить и совершить некоторые действия, как далее они будут повторяться по нажатию одной кнопки.

Макросы могут быть реально опасными. Поскольку при их написании используется язык программирования, с его помощью можно создать настоящий вирус, который способен повредить информацию, а также собирать данные для злоумышленников (особенно опасно, если в таблице есть банковские данные, пароли и так далее).

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

Значительно проще объяснить, зачем нужны макросы, на реальном примере. Например, необходимо каждый день удалять из электронной таблицы несколько столбцов, а потом добавлять новые строки. Это невероятно утомительное занятие, отнимающее много времени. Если же воспользоваться макросами, есть реальная возможность значительно его сэкономить.

Макросы можно запускать по нажатию определенной комбинации клавиш. Например, если нажать Ctrl+J, можно запустить подпрограмму.

Интересный факт: известная программа бухгалтерского учета 1C изначально очень напоминала Excel, но потом ее функционал расширился до текущего.

Если же нужно давать компьютеру сложные инструкции, можно воспользоваться редактором Visual Basic, примеры кода в котором мы и рассмотрим немного позже.

Когда какой тип записи макросов использовать?

Если необходимо автоматизировать простейшие действия, достаточно использовать встроенный инструмент для записи макросов. То есть, если не приходится прописывать никаких условий, переменных и других подобных вещей. Просто обычная последовательность действий.

Если же необходимо программировать сложные действия, то тогда придется пользоваться встроенной средой VBA. Например, если необходимо записать в массив все элементы какого-то диапазона значений, определить его длительность, и при условии, что количество элементов массива не превышает определенного числа, выдавать какое-то сообщение. Здесь стандартного инструмента для записи макросов окажется недостаточно, необходимо изучать язык программирования и записывать команды в специальной среде. А интерпретатор в дальнейшем будет выполнять написанный код.

Пример использования макросов №1

Сперва этот пример кода использовался для демонстрации комментариев кода, написанного на VBA. Но поскольку он включает и иные возможности языка, он может применяться для демонстрации следующих функций:

‘ Подпрограмма для поиска ячеек с адресами A1-A100 текущего активного листа

‘ и поиска ячеек, в которых содержится требуемая строка

Sub Find_String(sFindText As String)

Dim i As Integer ‘ Целочисленная переменная, которая используется в цикле типа «For»

Dim iRowNumber As Integer ‘ Целочисленная переменная, предназначенная для сохранения результата

‘ Цикл через ячейки A1-A100 до тех пор, пока не будет найдена строка ‘sFindText’

If Cells(i, 1).Value = sFindText Then

‘ Совпадение обнаружено для заданной строки

‘ Сохранение текущего номера строки и выход из цикла

‘ Всплывающее сообщение, информирующее пользователя о найденной строке и ее номере

If iRowNumber = 0 Then

MsgBox «String » & sFindText & » not found»

MsgBox «String » & sFindText & » found in cell A» & iRowNumber

Пример 2

Эта процедура перечисляет все значения числовой последовательности Фибоначчи, вплоть до 1000. В этом примере приводятся следующие возможности макросов Excel:

‘ Подпрограмма для перечисления всех значений последовательности Fibonacci для всех значений ниже тысячи

Dim i As Integer ‘ счетчик для позиции в серии значений

Dim iFib As Integer ‘ сохраняет текущее значение в серии

Dim iFib_Next As Integer ‘ сохраняет следующее значение в серии

Dim iStep As Integer ‘ хранит размер следующего шага

‘ Инициализация переменных variables i и iFib_Next

‘ Цикл Do While, который исполняется до тех пор, пока номер

‘ числа в последовательности Фибоначчи меньше 1000.

Do While iFib_Next Следующий пример подпрограммы читает значения с ячейки в колонке A активного листа, пока не найдет пустую ячейку. Вся полученная информация сохраняется в массиве. Это простой пример макросов в электронных таблицах, который показывает:

‘ Подпрограмма, которая хранит значения колонки А текущего листа

Dim iRow As Integer ‘ сохраняется текущий номер строки

Dim dCellValues() As Double ‘ массив, в котором хранятся значения ячеек

ReDim dCellValues(1 To 10)

‘ Цикл Do Until, который извлекает значение каждой ячейки в столбце А

‘ активного листа до тех пор, пока ячейка не окажется пустой

Do Until IsEmpty(Cells(iRow, 1))

‘ Проверка, достаточно ли большой массив dCellValues

‘ Если нет, используется ReDim, чтобы увеличить размер массива на 10 элементов.

If UBound(dCellValues) Следующая процедура «Sub» читает содержимое ячеек из колонки А другого листа, имеющего название «Sheet2» и с этими значениями осуществляет арифметические операции. Результат вычислений пишется в колонке А текущего листа.

Этот пример показывает:

‘ Подпрограмма, запускающая цикл через значения в колонке А текущего листа

‘ «Sheet2», perform arithmetic operations on each value, and write the

‘ result into Column A of the current Active Worksheet («Sheet1»)

Dim dVal As Double

‘ Установить переменную Col в колонку А листа 2

Set Col = Sheets(«Sheet2»).Columns(«A»)

‘ Прохождение цикла через каждую ячейку колонки ‘Col’ до тех пор, пока

‘ не будет обнаружена пустая ячейка

Do Until IsEmpty(Col.Cells(i))

‘ Применение арифметических операций к значению текущей ячейки

dVal = Col.Cells(i).Value * 3 — 1

‘ Команда ниже копирует результат в колонку А

‘ текущего активного листа — без уточнения названия активного листа

Пример 5

Этот пример макроса приводит пример кода VBA, связанного с событием. Каждый раз, когда человек выделяет ячейку или диапазон значений, связанное с макросом событие активируется.

‘ Код для отображения диалогового окна ячейки B1 текущего листа в случае, если она выбрана

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

‘ Проверка, выбрана ли ячейка B1

If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then

‘ При выборе ячейки B1 показать диалоговое окно

MsgBox «You have selected cell B1»

Пример 6

Следующая подпрограмма демонстрирует, как обрабатывать ошибки с помощью операторов OnError и Resume. Также в этом коде описывается, как открывать и читать данные с файла.

‘ Подпрограмма, для для установки определенных значений

‘ в ячейках A1 и B1 документа «Data.xls» на диске C:\

Sub Set_Values(Val1 As Double, Val2 As Double)

Dim DataWorkbook As Workbook

On Error GoTo ErrorHandling

‘ Открытие документа с данными

Set DataWorkbook = Workbooks.Open(«C:\Documents and Settings\Data»)

‘ Выбрать переменные Val1 and Val2 с данных в книге Excel

Val1 = Sheets(«Sheet1»).Cells(1, 1)

Val2 = Sheets(«Sheet1»).Cells(1, 2)

‘ Если файл не найден, предложить пользователю найти правильную директорию

‘ после чего продолжить выполнение подпрограммы

MsgBox «Data Workbook not found;» & _

«Please add the workbook to C:\Documents and Settings and click OK»

После детального ознакомления с этими примерами будет значительно легче применять свои навыки на практике.

Рекомендации по использованию макросов

Есть несколько рекомендаций, позволяющих значительно увеличить эффективность использования макросов в электронных таблицах:

Выводы

Таким образом, макросы – это эффективный инструмент автоматизации рабочих процессов в Excel. Он позволяет автоматизировать даже самые сложные последовательности действий. Если необходимо сделать простую программку, то достаточно воспользоваться встроенной функцией для записи макросов. Для более сложных необходимо освоить язык VBA, который является простым для изучения и очень гибким.

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

Источник

Как записать макрос в Excel? Пошаговая инструкция.

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Что такое макрос?

Для начала немного о терминологии.

Записанный макрос можно будет запускать неограниченное количество раз и Excel повторит все записанные шаги. Это означает, что даже если вы ничего не знаете о VBA, вы можете автоматизировать некоторые задачи, просто записав свои шаги и затем повторно использовать их позже.

Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.

Отображение вкладки «Разработчик» в ленте меню

Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку «Разработчик». Для этого выполните следующие шаги:

В результате на ленте меню появится вкладка «Разработчик»

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Запись макроса в Excel

Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например «Excel».

Вот шаги для записи такого макроса:

Поздравляем! Вы только что записали свой первый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel.

Теперь давайте рассмотрим код который записал макрорекодер. Выполните следующие действия, чтобы открыть редактор кода:

Вы увидите, что как только вы нажмете кнопку «Выполнить», текст «Excel» будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.

Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.

Что записывает макрос?

Теперь перейдем к редактору кода и посмотрим что у нас получилось.

Вот шаги по открытию редактора VB в Excel:

Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.

Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Когда мы записали макрос «ВводТекста», в редакторе VB произошли следующие вещи:

Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Вот код, который записан макрорекодером:

Теперь давайте пробежим по каждой строке кода и опишем что и зачем.

Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.

Абсолютная и относительная запись макроса

Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет «двигаться» относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст «Excel» и затем перейдет к ячейке K5.

Теперь давайте запишем макрос в режиме относительных ссылок:

Макрос в режиме относительных ссылок будет сохранен.

Теперь сделайте следующее.

Вот код, который записал макрорекодер:

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.

Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.

Что нельзя сделать с помощью макрорекодера?

Макро-рекордер отлично подходит для вас в Excel и записывает ваши точные шаги, но может вам не подойти, когда вам нужно сделать что-то большее.

Расширение файлов Excel, которые содержат макросы

Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel

Источник

Что такое макрос и где его искать?

Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excelTips_Macro_Basic_Video.xls (63,5 KiB, 3 817 скачиваний)

Зачем же нужны макросы? А нужны они для того, чтобы избавить Вас от рутинного выполнения одних и тех же действий. Например, Вам каждый день приходиться удалять из ежедневных отчетов по несколько столбцов и добавлять новые строки для шапки и т.п. Скучно и утомительно. Вы просто можете записать один раз все эти действия макрорекордером, а в дальнейшем только вызывать записанный макрос и он все сделает за Вас. Что немаловажно, для использования макрорекордера и записи макроса не надо обладать никакими навыками программирования.
В этой статье:

ПОДГОТОВКА К ЗАПИСИ МАКРОСА
Прежде чем начать работать с макросами необходимо разрешить их выполнение, т.к. по умолчанию они отключены. Для этого необходимо сделать следующее:

После изменения параметров безопасности макросов необходимо перезапустить приложение Excel: закрыть его полностью и открыть заново. Только после этого изменения вступят в силу.

Прежде чем начать записывать макрос необходимо помнить следующее:

Для пользователей Excel 2007-2010 и старше:

ПАРАМЕТРЫ ЗАПИСИ МАКРОСА
Перед записью можно задать имя записываемому макросу и назначить сочетание клавиш, при нажатии которых этот макрос будет запускаться. После нажатия кнопки для начала записи макроса появится окно:
Для чего макросы в excel. Смотреть фото Для чего макросы в excel. Смотреть картинку Для чего макросы в excel. Картинка про Для чего макросы в excel. Фото Для чего макросы в excel
Имя макроса – не должно содержать пробелов, запятых, двоеточий и т.п. Допустимы символы кириллицы, латиницы, цифры и нижнее подчеркивание (я рекомендую давать макросам имена, содержащие только буквы латиницы). Имя макроса всегда должно начинаться с буквы и не должно совпадать со встроенным именем Excel или именем другого объекта в книге (например, не должно носить имя Workbook, Cells или ЭтаКнига). Лучше давать макросу сразу понятное имя, отражающее примерную суть того, что он делает.
Сочетание клавиш – можно назначить вызов макроса сочетанием клавиш. Доступно назначение любой цифры или буквы в сочетании с Ctrl.
Сохранить в – выбираете место хранения записываемого макроса. Доступны варианты:

ВОСПРОИЗВЕДЕНИЕ МАКРОСА
После записи макроса запустить его можно разными способами:

Прежде чем пробовать использовать этот метод рекомендуется изучить статью Что такое модуль? Какие бывают модули? Для этого сначала необходимо вставить код макроса в тело событийной процедуры (подробнее про событийные процедуры). Например, если выбрать процедуру листа Change, то в лист автоматически будет вставлена пустая процедура:

Private Sub Worksheet_Change(ByVal Target As Range) End Sub

Если ранее вами был записан код выделения и удаления двух столбцов – Макрос1:

Sub Макрос1() ‘ ‘ Макрос1 Макрос ‘ макрос удаляет столбцы C и D из активного листа ‘ ‘ Сочетание клавиш: Ctrl+Shift+Q ‘ Columns(«C:D»).Select Selection.Delete Shift:=xlToLeft End Sub

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

Private Sub Worksheet_Change(ByVal Target As Range) Call Макрос1 End Sub

или вставить сам код (без Sub и End Sub) внутрь процедуры Worksheet_Change:

Private Sub Worksheet_Change(ByVal Target As Range) Columns(«C:D»).Select Selection.Delete Shift:=xlToLeft End Sub

Для смены формата файла его необходимо сохранить в другом формате:

Теперь несложно понять, что хранить макросы в версиях Excel 2007 и выше можно в форматах: xls, xla, xlsm, xlsb, xltm, xlsm.

Статья помогла? Поделись ссылкой с друзьями!

Источник

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

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