با سلام خدمت کاربران عزیز آی تی سواد
من یک کاربرگ دارم که شامل فهرستی از اسامی شیت ها در ستون A مانند تصویر زیر است ، و برخی از نام شیت های فایل در این فهرست گنجانده نشده اند، اکنون ، من میخواهم شیت هایی را که در فهرست ستون A قرار ندارند حذف کنم . چطور میتوانم حذف شیت هایی که در لیست شیت های اکسل نیستند را به سرعت و به راحتی در اکسل انجام دهم ؟
حذف شیت هایی که در لیست شیت های اکسل قرار ندارند با vba
۱. کلیدهای Alt + F11 را فشار دهید تا پنجره Microsoft Visual Basic for Applications باز شود .
۲. در پنجره Microsoft Visual Basic for Applications بر رویInsert > Module کلیک کنید و سپس از زیر کد VBA را کپی و در درون پنجره ماژول قراردهید .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub Deletenotinlist() 'Updateby Extendoffice 20160930 Dim i As Long Dim cnt As Long Dim xWb, actWs As Worksheet Set actWs = ThisWorkbook.ActiveSheet cnt = 0 Application.DisplayAlerts = False For i = Sheets.Count To 1 Step -1 If Not ThisWorkbook.Sheets(i) Is actWs Then xWb = Application.Match(Sheets(i).Name, actWs.Range("A2:A6"), 0) If IsError(xWb) Then ThisWorkbook.Sheets(i).Delete cnt = cnt + 1 End If End If Next Application.DisplayAlerts = True If cnt = 0 Then MsgBox "Not find the sheets to be seleted", vbInformation, "Kutools for Excel" Else MsgBox "Have deleted" & cnt & "worksheets" End If End Sub |
۳. و سپس کلید F۵ را فشار دهید تا این کد را اجرا کنید، شیت هایی که در فهرست نیستند بلافاصله حذف می شوند.
ترجمه شده از سایتwww.extendoffice.com
ممنون از همراهی شما کاربران عزیز آی تی سواد
اشتراک گذاری
عالی بود – خدا خیرتون بده