با سلام خدمت کاربران عزیز سواد دیجیتال
فرض کنید یک workbbok دارای چندین worksheets داشته باشید ، و حالا ، میخواهید صفحات را بر اساس نام آن حذف کنید .چگونه این کار را می توان انجام داد؟
حذف شیت اگر نام آن حاوی متن خاص باشد با VBA
در اینجا ، من یک کد VBA برای شما ایجاد میکنم تا شیت ها را بر اساس نام حذف کنید . در این مثال ما می خواهید تمام شیت های حاوی کلمه kte را حذف کنیم.
۱. کلیدهای 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 Deletebyname() 'سایت سواد دیجیتال Dim shName As String Dim xName As String Dim xWs As Worksheet Dim cnt As Integer shName = Application.InputBox("متن موردنظرتان را وارد کنید:", "سایت سواد دیجیتال", _ ThisWorkbook.ActiveSheet.Name, , , , , 2) If shName = "" Then Exit Sub xName = "*" & shName & "*" ' MsgBox xName Application.DisplayAlerts = False cnt = 0 For Each xWs In ThisWorkbook.Sheets If xWs.Name Like xName Then xWs.Delete cnt = cnt + 1 End If Next xWs Application.DisplayAlerts = True MsgBox "حاوی متن حذف شدند" & cnt & "worksheets", vbInformation, "سایت سواد دیجیتال" End Sub |
۳. و دکمه F۵ کلید یا run را فشار دهید تا VBA را اجرا کنید، و یک پنجره متن موردنظرتان را می خواهد.
۴. و سپس روی OK کلیک کنید ، تمام صفحات حاوی متن مشخصشده ” KTE ” بلافاصله حذف شدهاند
ترجمه شده از سایت www.extendoffice.com