Page 1 of 1

ลบ Sheet ที่ไม่ได้ใช้งาน VBA

Posted: Tue Apr 04, 2023 8:14 am
by Jirawat namrach
รบกวนแนะนำหน่อยครับ อยากลบ Sheet ที่ไม่ได้ใช้งาน (งานมีหลายไฟล์ลบทีละไฟล์แล้วช้าครับ) โดยจะเลือกลบพวก Sheet1 Sheet2 หรือ Sheet1(1) ประมาณนี้ครับ

Code: Select all

            n = Sheets.Count
            Do While n > 0
            r = Sheets(n).Name
                If r = "Sheet" Then
                    Application.ScreenUpdating = False
                    Sheets(n).delete
                    Application.ScreenUpdating = True
                End If
            n = n - 1
            Loop

Re: ลบ Sheet ที่ไม่ได้ใช้งาน VBA

Posted: Tue Apr 04, 2023 9:04 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
 Dim sh As Worksheet

 Set dbook = ThisWorkbook
 With dbook.Worksheets("delete")
     n = .Range("a" & .Rows.Count).End(xlUp).Offset(0, 0).Row
 End With
 Application.DisplayAlerts = False
 For x = 1 To n
     If dbook.Sheets("delete").Range("a1") > 0 Then
         Set sbook = Workbooks.Open("C:\Users\Lenovo\Desktop\old\" & Range("a" & x) & ".xlsx", UpdateLinks:=False)
'            n = Sheets.Count
'            Do While n > 0
'                r = Sheets(n).Name
'                If r = "Sheet" Then
'                    Application.ScreenUpdating = False
'                    Sheets(n).delete
'                    Application.ScreenUpdating = True
'                End If
'                n = n - 1
'            Loop
         For Each sh In sbook.Worksheets
             If InStr("Sheet1Sheet2Sheet(1)", sh.Name) > 0 Then
                 sh.Delete
             End If
         Next
     End If
 Next x
 Application.DisplayAlerts = True
'Other code
เปลี่ยน Sheet1Sheet2Sheet(1) ให้ครอบคลุมถึงชื่อชีตที่ไม่ต้องการ

Re: ลบ Sheet ที่ไม่ได้ใช้งาน VBA

Posted: Tue Apr 04, 2023 9:31 am
by Jirawat namrach
ขอบคุณครับ