如何在Excel工作表中隐藏多列?

时间:2018-12-26 15:24:31

标签: excel vba

我正在使用工作表1中的4个连续列在工作表2中生成图表。我想在工作表1中隐藏这4列。

我尝试了以下代码来隐藏列:

Set allColumns = dataSheet.Columns("J:M")
allColumns.Hidden = True

2 个答案:

答案 0 :(得分:1)

常量和参考

Sub AllCol()

  Const cVntSheet As Variant = "Sheet1"   ' Worksheet Name/Index
  Const cStrRange As String = "J:M"       ' Range Address

  Dim dataSheet As Worksheet              ' Worksheet

  ' Create a reference to the worksheet.
  Set dataSheet = Worksheets(cVntSheet)

  ' Hide the range.
  dataSheet.Columns(cStrRange).Hidden = True

End Sub

答案 1 :(得分:1)

用您的实际工作表名称交换Sheet1

Sub HideMe()

    ThisWorkbook.Sheets("Sheet1").Columns("J:M").Hidden = True

End Sub

请注意,此操作可以一行完成。如果您想使用变量(工作簿或工作表),则它们在组合时应构建以上字符串

类似:

Dim wb as Workbook: Set wb = ThisWorkbook
Dim ws as Worksheet: Set ws = wb.Sheets("Sheet1")
Dim hm as String: hm = "J:M"

ws.Columns(hm).Hidden = True

如果将变量替换为最后一行,则最终将得到第一行中显示的完全相同的代码行。