dim*_*ris 3 excel vba excel-vba
在我的代码中,我包含一个布尔变量,我想在其中分配一个范围的隐藏属性的值.即,如果隐藏范围,则变量的值应为true,反之亦然.
在运行代码时,我得到一个'1004'运行时错误 - 无法获取Range类的Hidden属性.通过这个我假设在这种情况下隐藏属性是只写的(如果我错了,请纠正我).
有没有办法确定(在我的代码中,而不是通过观察)是否隐藏了范围/单元格?
我有一个名为"minas"的类,我正在尝试根据某些标准创建一个minas集合.
Public mines As Collection
Sub existing_months()
Set mines = New Collection
Dim min As minas
Dim str As String
Dim x As Range
Dim y As Boolean
For i = 1 To 12
Set min = New minas
Set x = Range("A1:A500").Find(i, LookIn:=xlValues, LookAt:=xlWhole)
If x Is Nothing Then GoTo next_iteration:
y = x.Hidden 'does not get the property
Call min.initialize(x, y)
str = min.minas & "/" & min.etos
mines.Add min, str
Debug.Print min.ref_range.Address & " " & min.end_cell
next_iteration:
Next
Set min = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
如果单元格位于隐藏行或隐藏列上,则可以说它是隐藏的.
然后,范围是隐藏的,如果在这个范围内所有的细胞都隐藏:
Public Function IsHidden(rIn As Range) As Boolean
Dim r As Range
IsHidden = True
For Each r In rIn
If Not r.EntireRow.Hidden Then
If Not r.EntireColumn.Hidden Then
IsHidden = False
Exit Function
End If
End If
Next r
End Function
Run Code Online (Sandbox Code Playgroud)