Page 1 of 1

VBA ซ่อนแถวที่มีค่าเป็น 0

Posted: Tue Mar 26, 2024 2:13 pm
by camerakts22
ได้ลองทำ VBA ในการซ่อนแถว ถ้าคอลัมน์ H และ J ของแถวนั้น ๆ เป็น 0 จะซ่อนแถว แต่จากการได้ทดลองใช้ เมื่อกรอกข้อมูลลงไปและได้เรียกใช้ VBAเพื่อซ่อนแถว ผลลัพธ์ที่ได้คือ รู้สึกช้าเพราะว่า โค๊ดตรวจทีละแถว อยากสอบถามว่า สามารถปรับยังไงให้โค๊ดรันเร็วขึ้นได้บ้างครับ ขอบคุณครับ

Code: Select all

Sub HideRows()
    Dim ws As Worksheet
    Dim i As Long
    Set ws = ThisWorkbook.ActiveSheet
    
    For i = 1 To 254
        If ws.Cells(i, "H").Value = "0" And ws.Cells(i, "J").Value = "0" Then
            ws.Rows(i).EntireRow.Hidden = True
        End If
    Next i
End Sub

Re: VBA ซ่อนแถวที่มีค่าเป็น 0

Posted: Tue Mar 26, 2024 5:50 pm
by puriwutpokin
เอาโค้ดนี้ครอบระหว่างคำสั่งครับ

Code: Select all

Sub HideRows()
    Application.Calculation = xlManual
    'Code
    Application.Calculation = xlAutomatic
End Sub