VBA циклический просмотр таблиц для удаления пустых столбцов - PullRequest
1 голос
/ 16 октября 2019

Я создал этот макрос для удаления каждого пустого столбца в активной книге. Однако он работает не на каждом листе, а только на активном.

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

Sub DeleteBlankColumns()

Dim LastColumn As Long
Dim r As Long
Dim Counter As Long
Dim Current As Worksheet

    Application.ScreenUpdating = False
    For Each Current In Worksheets
    LastColumn = Current.UsedRange.Columns.Count + Current.UsedRange.Columns(1).Column - 1
        For r = LastColumn To 1 Step -1
            If Application.WorksheetFunction.CountA(Columns(r)) = 0 Then
                Current.Columns(r).Delete
                Counter = Counter + 1
            End If
        Next r
    Next
    Application.ScreenUpdating = True
    MsgBox "Deleted " & Counter & " empty columns."

End Sub

1 Ответ

2 голосов
/ 16 октября 2019

Попробуйте это:

Option Explicit

Sub DeleteBlankColumns()

Dim LastColumn As Long
Dim r As Long
Dim Counter As Long
Dim Current As Worksheet

    Application.ScreenUpdating = False
    For Each Current In Worksheets
        With Current
            LastColumn = .UsedRange.Columns.Count + .UsedRange.Columns(1).Column - 1
            For r = LastColumn To 1 Step -1
                If Application.WorksheetFunction.CountA(.Columns(r)) = 0 Then
                    .Columns(r).Delete
                    Counter = Counter + 1
                End If
            Next r
        End With
    Next
    Application.ScreenUpdating = True
    MsgBox "Deleted " & Counter & " empty columns."

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...