【问题标题】:Show/Hid column based on cell value根据单元格值显示/隐藏列
【发布时间】:2023-04-03 08:55:02
【问题描述】:

我正在尝试根据单元格值隐藏和显示列,如果单元格值为 =0,它将隐藏该列,如果单元格值

谢谢

Sub Hidecolumnbasedoncellvalue()
Dim p As Range

    For Each p In Range("E17:AB17").Cells
        If p.Value = "0" Then
            p.EntireColumn.Hidden = True
        If p.Value < 0 Then
            p.EntireColumn.Hidden = False
       
       End If
    Next p
    
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    试试这个:

    Sub Hidecolumnbasedoncellvalue() 
        Dim p As Range, v
        
        Application.Screenupdating = False 'faster...
        For Each p In Range("E17:AB17").Cells
            v = p.Value
            If Not IsError(v) Then 'ignore any error values
                If Len(v) > 0 Then '...or empty cells
                    If v = 0 Then
                        p.EntireColumn.Hidden = True
                    ElseIf v > 0 Then
                        p.EntireColumn.Hidden = False
                    End if
                End If
            End If 'not error
        Next p
    End Sub
    

    【讨论】:

    • 是的,因为单元格值只会是 =0 或
    • 我试过使用代码,当单元格值为=0时它工作,但是当它是
    • 我做了一个小调整,效果很好:)
    • Sub Hidecolumnbasedoncellvalue() Dim p As Range, v Application.ScreenUpdating = False 'faster... For Each p In Range("E17:AB17").Cells v = p.Value If Len( v) > 0 And Not IsError(v) Then If v = 0 Then p.EntireColumn.Hidden = True ElseIf v > 0 Then p.EntireColumn.Hidden = False End If End If End If Next p End Sub
    • 感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多