حذف کردن یک یا چند محدوده در چندین کاربرگ

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • میثم مقدم نیا

    • 2017/03/23
    • 555
    • 41.00

    آموزشی حذف کردن یک یا چند محدوده در چندین کاربرگ

    با گروه بندی تمام برگه ها ، ردیف های مشابه یا محدوده های مختلف را حذف کنید

    ردیف های مشابه را در چندین شیت اکسل حذف کنید
    شاید براتون پیش اومده باشه که بخواید در بین شیت ها چندین سطر را حدف کنید
    اگه تعداد شیت هاتون زیاد باشه این کار براتون خیلی خیلی سخته می‌شود که بخواید این کار را دونه دونه انجام بدید
    با کدهای زیر شما می‌توانید سریعتر این محدوده‌ها را تنها با یک کلید حذف کنید

    1. کلیدهای Alt + F11 را همزمان فشار دهید تا پنجرهMicrosoft Visual Basic for Applications باز شود .
    2. در پنجره Microsoft Visual Basic for Applications ، روی Insert > Module کلیک کنید. سپس کد VBA زیر را کپی کرده و در پنجره Code قرار دهید.

    روش اول
    با این کد ردیف انتخاب شده توسط کار بر در شیت ها وارد شده در کد زیر همه حذف خواهد شد
    توجه در این کد هربار یک ردیف حذف میشود

    کد PHP:
    Sub DeleteRows()
    Dim shtArrAs Longxx As Long
    shtArr 
    = Array("Sheet1""Sheet2""Sheet3""Sheet4""Sheet5")
    xx Selection.Row
    For LBound(shtArrTo UBound(shtArr)
        
    Sheets(shtArr(i)).Rows(xx).EntireRow.Delete
    Next i
    End Sub 


    روش دوم
    با این کد ردیف‌های 4 و5 در تمام شیت ها حذف خواهد شد که شما میتوانید آن را بنا به نیاز خود تغییر دهید
    توجه داشته باشید که در این کد همه ردیف‌های 4 و 5 در تمام شیت ها حذف میشود

    کد PHP:
    Sub bleh()
        
    Dim xWs As Worksheet
        Set xWs 
    ActiveSheet
        ThisWorkbook
    .Worksheets.Select
        Rows
    ("3:4").Select
        Selection
    .Delete
        xWs
    .Select
    End Sub 

    شما از کد زیر هم به همین منظور میتوانید استفاده کنید

    کد PHP:
    Sub bleh2()
        
    Dim ws As Worksheet
        Dim wb 
    As Workbook
        Set wb 
    ThisWorkbook
        
    For Each ws In wb.Worksheets
           ws
    .Rows("1:3").Delete
        Next ws
        Set wb 
    Nothing
    End Sub 


    دامنه های مشابه را بین چندین شیت حذف کنید

    برای حذف دامنه های مشابه در چندین شیت می‌توانید از کد زیر استفاده کنید.
    توجه داشته باشید که در این کد تمام ناحیه‌های پر شد در شیت فعال انتخاب شده و کار پیامی نمایش داده میشود و از کار بر میخواد که محدوده انتخاب را تایید کند یا آن را تغییر دهد و بعد تایید کند
    با تایید کاربر ناحیه انتخاب شده در تمام شیت ها حذف میشود.

    Click image for larger version

Name:	Untitled.png
Views:	1
Size:	30.8 کیلو بایت
ID:	148607
    کد PHP:
    Sub Del_Full()
        
    Dim xRg As Range
        Dim xTxt 
    As String
        Dim xWs 
    As Worksheet
        On Error Resume Next
        Set xWs 
    ActiveSheet
        
    If ActiveWindow.RangeSelection.Count 1 Then
          xTxt 
    ActiveWindow.RangeSelection.AddressLocal
        
    Else
          
    xTxt ActiveSheet.UsedRange.AddressLocal
        End 
    If
        
    Set xRg Application.InputBox(":لطفا دامنه موردنظر براي حذف را در بين چندين برگه انتخاب کنيد""راهنماي براي اکسل"xTxt, , , , , 8)
        If 
    xRg Is Nothing Then Exit Sub
        xRg
    .ClearContents
        ThisWorkbook
    .Worksheets.Select
        ActiveWindow
    .SelectedSheets.FillAcrossSheets xRgxlFillWithContents
        xWs
    .Select
    End Sub 


    حذف چند سطر از چندین شیت به طور همزمان


    شما می‌توانید یک محدوه مشترک را با استفاده از کد زیر در شیت‌های موجود حذف کنید
    در این کد محدوده A1 تا D4 انتخاب شده که شما بنا به خواسته خود اون را می‌تونید تغییر دهید
    توجه داشته باشید که این کد این محدوده را در تمام شیت‌های موجود حذف می‌کند

    کد PHP:
    Sub Delete_Rows()
    Dim ws As Worksheet
            
    For Each ws In ActiveWorkbook.Worksheets
             ws
    .Range("A1:D4").EntireRow.Delete
             Next ws
    End Sub 


    پاک سازی سلول ها روی شیت‌های مختلف

    با این کد زیر شما می‌توانید محدود انتخابی که از سلول A1 شروع می‌شود را تا هرجای که بخواهید را حذف کنید

    کد PHP:
    Sub clearcontents1()

    With Sheets("Sheet1")
        
    Range(.Cells(11), .Cells(96)).clearcontents
    End With
    With Sheets
    ("Sheet2")
        
    Range(.Cells(11), .Cells(73)).clearcontents
    End With
    End Sub 

    شما برای این کار از کد زیر هم می‌توانید استفاده کنید با این تفاوت که در این کد زیر شما می‌توانید یک محدوده مشخص شده از هر جایی که خواستید را در شیت‌های جداگانه انتخاب و حذف کنید

    کد PHP:
    Sub clearcontents2()

    Sheets("Sheet1").Range("A1:C9").clearcontents
    Sheets
    ("Sheet2").Range("D2:G8").clearcontents

    End Sub 
    حذف یک محدوده مشخص و قفل کردن آن

    شما با این کد زیر می‌توانید یک محدوده مشخص شده از هر جایی که خواستید را در شیت‌های پشت سر هم حذف کنید
    کد PHP:
    For 1 To 3 

    در این خط عدد 1 شیت مبعد و عد 3 شیت مقصد هست که درکد زیر محدود D2 تا G8 را از شیت 1 تا 3 را حذف می کند و محدود حذف شده قفل میشود که در اینجا پسورد آن abc هست

    کد PHP:
    Sub clearcontents3()

    Dim x As Integer
    For 1 To 3
    With Sheets
    ("Sheet" x)
    .
    Unprotect Password:="abc"
    .Range("D2:G8").clearcontents
    .Protect Password:="abc"
    End With
    Next x
    Application
    .Goto Sheets("sheet1").Range("A1"), False

    End Sub 



    شما با این کد می توانید چند محدوده را از هر جایی که خواستید را مشخص کنید و در شیت های جداگانه حذف کنید

    کد PHP:
    Sub clearcontents4()

    Sheets("Sheet1").Range("A1:C5,A8:H10").clearcontents
    Sheets
    ("Sheet2").Range("B1:C5,A7:H10").clearcontents

    Sheets
    ("Sheet3").Select

    Cells
    (11).Select

    End Sub 


    مطالب طولانی شد بیشتر از این دیگه سرتون را درد نمیارم
    با سپاس مقدم نیا

    فایل های پیوست شده
    Last edited by میثم مقدم نیا; 2020/01/17, 13:50.

    در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست
  • دکتر علیزاده

    • 2021/11/27
    • 61

    #2
    حذف کردن یک یا چند محدوده در چندین کاربرگ

    سلام جناب آقای مقدم نیا
    واقعا خیلی پست عالی و فوق العاده ایه. هم توضیحات کامل و هم کاربردی
    دستت درد نکنه. سایه عالی مستدام.
    امير المؤمنين علي (ع) : دنيا دو روز است يك روز با توست و روز ديگر عليه تو روزي كه باتوست مغرور مَشو و روزي كه عليه توست نا اميد مشو زيرا هردو پايان پذيرند

    کامنت

    • mahdie-ard

      • 2017/07/24
      • 42

      #3
      باسلام، تشکر بابت آموزش عالی شما
      اگر یک جدول داشته باشیم با مثلا ۱۰۰ ردیف از محدوده a3 تا n103 . چطور ممکنه در یک سلول زمانی که یک شماره ردیف نوشته بشه با استفاده از کد نویسی ردیف اون شما پاک بشه؟

      کامنت

      چند لحظه..