在 excel VBA中,隐藏多行

分享于 

4分钟阅读

电脑

 

问题:

在列A 中隐藏包含"xx"值的所有行,而不隐藏列中包含"A"的行。 这个范围来自 A8:A556. 这里宏需要由单元格C4的更改触发。

为什么它不能工作? 以下是当前尝试:


Private Sub Worksheet_Change(ByVal Target As Range)



If Target.Address(True, True) ="$C$4" Then



 If Range("A8:A555").Value ="xx" Then


 Rows("8:555").EntireRow.Hidden = True


 ElseIf Range("A8:A555").Value ="a" Then


 Rows("8:555").EntireRow.Hidden = False



 End If


 End If



End Sub




谢谢!

编辑:

嘿Fixer1234这是个细节

  • ""还有"a"在宏正常工作时可能不存在。
  • 只有"xx"行必须隐藏
  • "xx值与无法隐藏的值组合在一起。
  • "a 值与必须隐藏的值不匹配。
  • 还有其他行不包含"xx或者""不需要隐藏( 应该添加一个""到这些列或者完全删除 IfElse) 。
  • "xx行包含其他公式,公式中的空白结果表示行必须隐藏。
  • "行具有相同的公式,但它产生结果且不能隐藏。

运行时错误'13': 类型不匹配,然后调试转到第一个 If Range("A8:A555").Value ="xx" Then


回答 1:

不能使用 Range("A8:A555").Value ="xx" 测试范围内的所有值。 它将引发类型不匹配错误。

你需要循环遍历范围中的每个单元,如果它的Value 等于"xx",则分别测试。

要使代码运行得更快,不要在检测到行时隐藏行,而是构建 RangesRange,然后将它们全部隐藏起来。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)


Dim cel As Range


Dim RangeToHide As Range



 'Test if Target is C4


 If Not Intersect(Target, [C4]) Is Nothing Then


 'Loop through each cell in range and test if it's"xx"


 For Each cel In Range("A8:A555")


 If cel ="xx" Then


 If RangeToHide Is Nothing Then


 'Initialise RangeToHide because Union requires at least 2 ranges


 Set RangeToHide = cel


 Else


 'Add cel to RangeToHide


 Set RangeToHide = Union(RangeToHide, cel)


 End If


 End If


 Next


 RangeToHide.EntireRow.Hidden = True


 End If


End Sub




回答 2:

使用这里VBA代码作为标准 MODULE,将帮助你隐藏在列 A 中具有 XX 或者 XX的所有行。


Private Sub Worksheet_Change(ByVal Target As Range)



If Target.Address(True, True) ="$C$4" Then



Dim i As Integer


 Application.ScreenUpdating = False



 For i = 8 To 255



 If Sheets("Sheet1").Range("A" & i).Value ="XX" Or Sheets("Sheet1").Range("A" & i).Value ="xx" Then


 Rows(i &":" & i).EntireRow.Hidden = True


 End If



 Next i


 End If



 Application.ScreenUpdating = True



End Sub



N.B 。

不需要使用任何代码取消隐藏具有 A 或者 A的行,因为已经可见。 最上面的代码是隐藏列 A 中的特定行。



Excel  HID  ROWS  VBA  Excel Vba  
相关文章