【问题标题】:how to identify grouped column and hidden column separately?如何分别识别分组列和隐藏列?
【发布时间】:2012-12-14 16:05:09
【问题描述】:

我有一个包含几个分组列的 Excel。在该组内,几列是隐藏的。(右键单击隐藏)。当组折叠时,所有列的 .Hidden 属性返回 true,这是我不想要的。有没有办法将原本隐藏的列与折叠组中的其他组列分开?

【问题讨论】:

  • 为什么不展开组,计算隐藏的列,然后将组折叠回来?
  • 使用组是改变 Hidden 属性的一种方式,因此两者都改变​​了相同的属性。我担心一旦使用它们就无法区分使用的方法......
  • 当您谈论这些“组”时,您指的是 Excel 大纲吗?
  • @ScottHoltzman :这是最初找到的最佳方法,但可以有 N 个展开和折叠的组,所以如果我展开几个折叠的组,那么我如何记住这些组为了在我完成我的工作后保持原来的状态?
  • @whytheq :是的,如果有分组,那么我猜 Outline 属性是一种识别方法,我尝试将它与 Hidden 属性一起使用,但看起来没有用。因为当 goupe 折叠时,大纲属性和隐藏属性将为所有列返回 true,并且没有任何方法可以区分折叠和隐藏的列/行。

标签: excel excel-2007 excel-2010 excel-interop vba


【解决方案1】:

不完全理解这个问题,但在 VBA 中,我可以测试一下是否像这样隐藏列:

Option Explicit

Sub TestFunction()

  'hide a few columns and then run me<<<<<<<<<<
  Dim mySearchColumn As Integer
  mySearchColumn = (CInt(Application.InputBox("input a column number")))

  MsgBox ("you wanted to know about column " & mySearchColumn & ". Is it hidden: " & IsColumnHidden(mySearchColumn))

End Sub

Function IsColumnHidden(targetColumn As Integer) As Boolean
    IsColumnHidden = False
    If Columns(targetColumn).EntireColumn.Hidden Then
        IsColumnHidden = True
    End If
End Function

【讨论】:

  • Columns(targetColumn).EntireColumn.Hidden 将在两种情况下返回 true 1)当列实际隐藏时 2)当此列是折叠组的一部分时。
  • (我试着建个模型看看能不能区分)
猜你喜欢
  • 1970-01-01
  • 2020-01-15
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多