我有一个5行6列的名称范围。我想隐藏5行中的3行。我只能拿到其中一排。如何指定需要隐藏的其他行?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rowCounter As Long
Dim theTargetRow, initialStartRow As String
initialStartRow = "113"
theTargetRow = initialStartRow + Target.Value
If Target.Value = "---" Then
Range("myNameRange").Rows.Hidden = True
Else
'Range("myNameRange").Rows.Hidden = True
For rowCounter = theTargetRow To initialStartRow + 1 Step -1
Rows(rowCounter).EntireRow.Hidden = False
Next
End If
End Sub编辑:我将我的名字范围从需要隐藏的行中删除,从而使其正常工作。
发布于 2017-09-26 22:12:17
由于您提供的信息有限,我只能给您返回有限的信息(更具体地说,下面的代码搜索范围内的每个单元格,因为我不确定N/A位于哪个列)。
Option Explicit
Sub Test()
Dim Target As Range, Cell As Range
Set Target = Range("myNameRange")
For Each Cell In Target
If Cell.Value = "N/A" Then
Cell.EntireRow.Hidden = True
Else
Cell.EntireRow.Hidden = False
End If
Next Cell
End Sub发布于 2017-09-26 22:12:45
要隐藏命名区域的第i行...
Sheets("Sheet1").Range("myNameRange").Rows(i).EntireRow.Hidden = True 发布于 2017-09-26 22:45:50
这将隐藏命名范围中的前三行,尽管根据您找到的对您有效的解决方案,您似乎只想隐藏行-不一定要隐藏在命名范围内。
Public Sub Test()
Dim rCell As Range
Dim i As Long
For Each rCell In Range("myNameRange").Rows
If i < 3 Then
rCell.EntireRow.Hidden = True
Else
Exit For
End If
i = i + 1
Next rCell
End Subhttps://stackoverflow.com/questions/46428556
复制相似问题