如何使用VBA使用美元数字隐藏和取消行

时间:2016-02-25 21:29:42

标签: excel-vba vba excel

如果我的问题太基本,我道歉。我正在努力实现以下结果

  1. 如果Cell E11值小于25,000,则隐藏第14行和第14行。 15。
  2. 如果Cell E11值介于25k-50k之间,则仅隐藏第15行。
  3. 如果Cell E11值介于50k-75k之间,则取消隐藏两行。
  4. 可以自动计算吗?

    到目前为止,我发现了以下代码,当然这对我的情况没有帮助。

    Sub PG1()
    
        If Range("E11").Value = "Pass" Then
            Rows("14:14").EntireRow.Hidden = True
        ElseIf Range("E11").Value = "Fail" Then
            Rows("14:14").EntireRow.Hidden = False
        End If
    
    End Sub
    

2 个答案:

答案 0 :(得分:1)

基于您发布的代码之外的其他任何内容的少量尝试和错误都给了我这个代码,这应该可以帮助您入门。它完成了三个要求中的两个(使用不同的单元格和行),但它可以工作。如果它仍然不是您可以用来完成任务的东西,那么您应该雇用某人为您完成此任务。

Sub ShowOrHide()
  If ActiveSheet.Range("A1").Value < 25000 Then
    ActiveSheet.Rows("2:3").EntireRow.Hidden = True
  ElseIf ActiveSheet.Range("A1").Value >= 50000 Then
    ActiveSheet.Rows("2:3").EntireRow.Hidden = False
  End If
End Sub

答案 1 :(得分:-1)

你走了。

Private Sub Worksheet_Change(ByVal Target As Range)

如果Target.Address =&#34; $ E $ 11&#34;然后

如果Target.Value&lt; 25000然后行(&#34; 13:15&#34;)。EntireRow.Hidden = True

如果Target.Value&gt; 25000然后行(&#34; 13:14&#34;)。EntireRow.Hidden = False

如果Target.Value&gt; 50000 Then Rows(&#34; 13:15&#34;)。EntireRow.Hidden = False

如果Target.Value&gt; 75000然后行(&#34; 13:15&#34;)。EntireRow.Hidden = True

结束如果

End Sub