Попытка скрыть сетки с помощью команды DisplayGridLines работала только для одного рабочего листа из книги

Я начинаю с Vba.

Я попытался скрыть ячейки Gridlines в моей книге с последней строкой следующего подраздела, проблема в том, что моя книга состоит из двух листов, а Gridlines скрывались только для одного из них (первый):

Sub Valores()

Set NewBook = Workbooks.Add
szToday = Format(Date - 1, "YYYYMMDD")
    With NewBook
        .Title = "Control_Colaterales"
        .Subject = "Control Colaterales"
        .SaveAs Filename:="V:\Departamento\7920-SOLVENCIA\1. Riesgo de Mercado\2. RIESGO DE CONTRAPARTIDA\1. REPORTING DIARIO R.Contrapartida\1. Enviados\Colaterales\Informe_Control_Colaterales_" & szToday & ".xls"
    End With

ThisWorkbook.Worksheets(1).Activate
Cells.Select
Selection.Copy
NewBook.Sheets(1).Activate
ActiveSheet.Name = "CSA y REPO Retrospectivo"
ActiveSheet.Paste
ActiveSheet.Cells.Select
Selection.Copy
ActiveSheet.Range("A1").PasteSpecial xlPasteValues
Worksheets.Add(After:=Sheets(Worksheets.Count)).Name = "CSA y REPO Actual"
ThisWorkbook.Worksheets(1).Activate
Nows = "CSA y REPO Actual"
Worksheets(Nows).Activate
ActiveSheet.Cells.Select
Selection.Copy
NewBook.Sheets(2).Activate
ActiveSheet.Paste
ActiveSheet.Cells.Select
Selection.Copy
ActiveSheet.Range("A1").PasteSpecial xlPasteValues
NewBook.Sheets(1).Activate
ActiveSheet.Range("A1").Activate
ActiveWorkbook.Windows(1).DisplayGridlines = False

End Sub

Может ли кто-нибудь мне помочь?

Большое спасибо

Ответ 1

Он работает только на рабочем листе, поэтому вместо этого измените последнюю строку:

Worksheets(1).Activate
ActiveWorkbook.Windows(1).DisplayGridlines = False
Worksheets(2).Activate
ActiveWorkbook.Windows(1).DisplayGridlines = False

Ответ 2

Попробуйте сделать так, чтобы скрыть линии сетки всех книг:

Public Sub TestMe()

    Dim cnt As Long

    For cnt = 1 To ThisWorkbook.Worksheets.Count
        Worksheets(cnt).Activate
        Windows(1).DisplayGridlines = False
    Next cnt

End Sub

Вы можете вызвать Sub в конце вашего кода. Редактировать: Способ сделать это без активации рабочего листа - Как отключить сетки в excel с помощью VBA без использования ActiveWindow