با سلام خدمت کاربران عزیز آی تی سواد
فرض کنید , من یک فایل اکسل حاوی چند شیت دارم , حالا میخواهم شیت ها را براساس مقدار سلول حذف کنم . برای مثال , اگر سلول a1 حاوی متن“KTE” باشد , تمام شیت هایی که سلول a1 دارای این متن است باید بلافاصله حذف شود . این مقاله میتواند به شما در انجام حذف شیت براساس مقدار سلول کمک کند .
حذف شیت براساس مقدار سلول با کد 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 |
Sub deletesheetbycell() 'Updateby Extendoffice 20161008 Dim shName As String Dim xName As String Dim xWs As Worksheet Dim cnt As Integer shName = Application.InputBox("Input the text to delete the sheets based on:", "Kutools for Excel", _ "", , , , , ۲) Application.DisplayAlerts = False cnt = 0 For Each xWs In ThisWorkbook.Sheets If xWs.Range("A1").Value = shName Then xWs.delete cnt = cnt + 1 End If Next xWs Application.DisplayAlerts = True MsgBox "Have deleted" & cnt & "worksheets", vbInformation, "Kutools for Excel" End Sub |
نکته : در کد بالا ، A۱ سلولی است که حاوی متن خاصی است که میخواهید صفحات را براساس آن حذف کنید .
۳. سپس کلید F۵ را فشار دهید تا این کد را اجرا کنید، و یک پنجره ظاهر می شود تا مقدار خاصی را وارد کنید که میخواهید صفحات را براساس آن حذف کنید .
۴. و سپس روی دکمه OK کلیک کنید ، همه شیت هایی که در سلول A۱ دارای متن KTE هستند فورا ً حذف شده اند.
ترجمه شده از سایت www.extendoffice.com