Макросы Excel помогают автоматизировать повторяющиеся задачи и повысить производительность. Одним из распространенных требований является запуск макроса при каждом изменении листа. В этой статье блога мы рассмотрим различные способы достижения этой цели на примерах кода VBA.
Метод 1: Событие Worksheet_Change:
Событие Worksheet_Change запускается всякий раз, когда изменяется значение ячейки на определенном листе. Поместив нужный код макроса в это событие, мы можем выполнить макрос автоматически.
Пример:
Private Sub Worksheet_Change(ByVal Target As Range)
' Check if the changed cell is within a specific range
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
' Call your macro here
Call YourMacroName
End If
End Sub
Метод 2: Событие Worksheet_SelectionChange:
Событие Worksheet_SelectionChange срабатывает всякий раз, когда на листе выбирается новая ячейка или диапазон ячеек. Мы можем использовать это событие для запуска макроса при каждом изменении выбора.
Пример:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Call your macro here
Call YourMacroName
End Sub
Метод 3: Событие Workbook_SheetChange:
Событие Workbook_SheetChange запускается при каждом изменении любого листа в книге. Это событие позволяет нам запускать макрос при каждом изменении любого листа, независимо от того, какой лист активен.
Пример:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
' Call your macro here
Call YourMacroName
End Sub
Метод 4: Событие Workbook_SheetActivate:
Событие Workbook_SheetActivate запускается при активации листа. Используя это событие, мы можем автоматически запускать макрос при каждом выборе листа.
Пример:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
' Call your macro here
Call YourMacroName
End Sub
В этой статье мы рассмотрели несколько способов запуска макроса при каждом изменении листа в Excel с помощью VBA. Используя эти события и включив предоставленные примеры кода в свои проекты Excel, вы можете автоматизировать процессы и сэкономить время. Поэкспериментируйте с этими методами, чтобы оптимизировать рабочий процесс и повысить производительность.