【问题标题】:Hiding columns when running a query运行查询时隐藏列
【发布时间】:2009-01-15 09:51:56
【问题描述】:

我正在查看一个宏,它会在我每次运行查询时隐藏特定范围的列。

例如:当我第一次运行查询时,我需要隐藏列 A 到 D,就像下次运行查询时一样,我需要隐藏列 E 到 H。

它基本上是一个可以概括列隐藏模式的查询。

我要求您提供这方面的专业知识。

【问题讨论】:

  • what 系统中的列,究竟是什么?
  • 我正在尝试使用 Microsoft Excel 2003 版本

标签: calculated-columns


【解决方案1】:

如果传递的 RunCount 值为 1,以下过程将隐藏列 A 到 D,如果传递值 2,则隐藏列 E 到 H,如果传递值 3,则隐藏列 I 到 L,依此类推第四……

Public Sub HideColumns(RunCount As Integer, TargetSheet As Worksheet)
  Dim rngHide As Range
  Dim ColOffset As Integer

' Initialise rngHide to columns A to D of the target worksheet.
  Set rngHide = TargetSheet.[A:D]

' Calculate the offset from column A to the first column _
  that needs to be hidden, update rngHide if required.
  ColOffset = (RunCount - 1) * 4
  If ColOffset > 0 Then
    Set rngHide = rngHide.Offset(0, ColOffset)
  End If

' Hide the columns.
  rngHide.ColumnWidth = 0
End Sub

如果您决定只想隐藏某些列,只需更改行:

Set rngHide = TargetSheet.[A:D]

例如要仅隐藏第一列和最后一列,(列 A D,列 E H 等):

Set rngHide = TargetSheet.[A:A, D:D]

仅隐藏前两列:

Set rngHide = TargetSheet.[A:B]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2014-03-01
    相关资源
    最近更新 更多