尝试隐藏使用DisplayGridLines指令的网格线只适用于工作簿中的一个工作表

我是Vba的初学者。

我尝试在我的工作簿中隐藏单元网格线,最后一个子节点被隐藏,问题是我的工作手册由两个工作表组成,而网格线只隐藏其中的一个(第一个):

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 

¿谁能帮我吗?

非常感谢你

它只对活动工作表起作用,所以将最后一行改为:

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

尝试像这样循环隐藏所有工作簿的网格线:

 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 。 编辑:一种方法来做到这一点,而无需激活工作表 – 如何closures使用VBA的Excel中的网格线,而不使用ActiveWindow