Команда «Задать размер столбца» не выполняет циклический просмотр всех активных рабочих листов. - PullRequest
0 голосов
/ 16 января 2020

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

Columns("T").ColumnWidth = 50

Полный макрос :

Sub Resize_Columns_And_Rows_No_Header2()

Dim currentSheet As Worksheet

Set currentSheet = ActiveSheet

Dim sheet As Worksheet

Columns("T").ColumnWidth = 50

For Each sheet In ActiveWorkbook.Worksheets
    With sheet

Columns("T").ColumnWidth = 50

With .Cells.Rows
            .WrapText = True
            .VerticalAlignment = xlCenter
            .EntireRow.AutoFit
        End With '.Cells.Rows
        .Columns.EntireColumn.AutoFit
    End With 'sheet
Next sheet

currentSheet.Activate

End Sub

1 Ответ

0 голосов
/ 16 января 2020

Проблема в том, что строка Columns("T").ColumnWidth = 50 внутри вашего With sheet должна начинаться с точки, иначе она не будет выполняться на sheet.

Поэтому измените строку в With sheet на:

.Columns("T").ColumnWidth = 50

На самом деле вам не нужны вещи currentSheet и вам не нужно currentSheet.Activate в конец, потому что активный лист никогда не меняется, используя следующий код:

Public Sub Resize_Columns_And_Rows_No_Header2()
    Dim sheet As Worksheet
    For Each sheet In ActiveWorkbook.Worksheets
        With sheet

            .Columns("T").ColumnWidth = 50

            With .Cells.Rows
                .WrapText = True
                .VerticalAlignment = xlCenter
                .EntireRow.AutoFit
            End With '.Cells.Rows

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