รหัส VBA ซ่อน / ยกเลิกการซ่อนอย่างต่อเนื่องโดยอัตโนมัติ


0

ฉันต้องซ่อน / ยกเลิกการซ่อนแถวเนื่องจากมีการอัปเดตค่า ตอนนี้รหัสของฉันจะซ่อนอัตโนมัติเมื่อค่ากลายเป็นศูนย์ แต่ถ้าฉันป้อนค่ามันจะไม่ยกเลิกการซ่อนอัตโนมัติ

Private Sub Worksheet_Calculate()
    Dim LastRow As Long, c As Range

    Application.EnableEvents = False
    On Error Resume Next
    For Each c In Range("F10:F56")
        If c.Value = 0 Then
            c.EntireRow.Hidden = True
        ElseIf c.Value = 1 Then
            c.EntireRow.Hidden = False
        End If
    Next
    On Error GoTo 0
    Application.EnableEvents = True
End Sub

คุณกำลังป้อน "ค่า" หรือคุณกำลังป้อนค่าเป็น 1? รหัสของคุณจะซ่อนเฉพาะในกรณีที่ค่าเซลล์เป็น 1.
G-Man

คำตอบ:


0

ฉันจะลองเปลี่ยน

ElseIf c.Value = 1 Then

ไปยัง

ElseIf c.Value <> 0 Then

ตอนนี้มันกำลังตรวจสอบเฉพาะสำหรับเซลล์ที่มี 0 ในกรณีแรกหรือ 1 ใน elseif และฉันถือว่าคุณต้องการซ่อนใน 0 และยกเลิกการซ่อนในทุกสิ่งที่ไม่ใช่ศูนย์


ระบุว่า If บรรทัดคือ If c.Value = 0 Thenคุณไม่จำเป็นต้องพูด ElseIf c.Value <> 0 Then; เพียงแค่พูดว่า Else.
G-Man

ใช่จุดดี ตอนแรกฉันก็ยังสงสัยว่าอาจมีเกณฑ์สำหรับกรณีอื่นเช่นกัน
panhandel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.