Код VBA для запуска при изменении столбцов

Код VBA для запуска при изменении столбцов
Код VBA для запуска при изменении столбцов - alicekat @ Unsplash

хочу модифицировать приведенный ниже код так, чтобы он выполнялся только при изменении данных в определенных столбцах. ... например, столбцы A, G и M

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

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A,G:G,M:M")) Is Nothing Then
    'this part runs the autofilter on my active sheet
        ActiveSheet.AutoFilter.ApplyFilter
    'this part runs all the table autofilters in the sheet "template"
        Dim oList As ListObject
        For Each oList In ActiveWorkbook.Worksheets("TEMPLATE").ListObjects
            oList.AutoFilter.ApplyFilter
        Next oList
Else
    ' perform an action if the columns in interest are not altered (if needed)
    ' if not needed then Else section can be removed
End If
End Sub

Конечно, вы можете использовать любое необходимое выражение типа данных Range (Range, Columns, Rows, Cells, ...) вместо Range("A:A,G:G,M:M").

Прикрепляю к посту несколько видео по теме:

Прикрепленное видео 1 - Excel VBA . Определение последней заполненной ячейки строки, столбца (урок 10)

Прикрепленное видео 2 - 89- VBA Excel. Как изменить ширину столбцов Listbox мышкой

Прикрепленное видео 3 - 4- VBA Excel. Ячейка Cells. Условие Если То. IF END IF


NevaDev, 28 января 2023 г., 17:13