Excel-在多个工作簿中隐藏相同的列

时间:2018-09-28 12:41:41

标签: excel vba excel-vba

我需要在多个工作簿中隐藏相同的列。

例如,我想隐藏列B, C, F, H, I, J, K, R, Q, AA等,并且在打开这些工作簿时需要快速在许多不同的工作簿中隐藏相同的列。换句话说,

我需要创建一个自定义视图,该视图可以快速应用于我打开的任何工作簿。

我正在使用Excel 2016。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用For Each循环分别遍历WorkbooksWorksheets的集合,并重复操作for each和每个人。

Private Sub hide_columns()

   Dim wb As Workbook
   Dim ws As Worksheet

   For Each wb In Workbooks ' loop through all workbooks
     For Each ws In wb.Worksheets ' loop through all worksheets in workbooks
        ws.Columns("C").EntireColumn.Hidden = True
        ws.Columns("H:K").EntireColumn.Hidden = True
        ' - add the rest of the columns here 
     Next ws
   Next wb

End Sub

答案 1 :(得分:0)

您可以使用工作簿打开事件来设置所需列的属性:

Private Sub Workbook_Open()
Range("B:D,F:F").EntireColumn.Hidden = True

End Sub