Excel_VBA FIlter Omit
22 بار بازدید -
4 سال پیش
-
Sub Ommiting()
mycolumn = ActiveCell.Column
Sub Ommiting()
mycolumn = ActiveCell.Column
Myfilter = ActiveCell.Value
mysheet = ActiveSheet.Name
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveCell.Resize(1, 2).EntireColumn.Insert
ActiveCell.Resize(1, 2).EntireColumn.NumberFormat = "General"
Cells(2, mycolumn + 1).Resize(lastRow - 1, 1).Value = Myfilter
Cells(2, mycolumn).Resize(lastRow - 1, 1).FormulaR1C1 = "=if(RC[2]=RC[1],0,1)"
If Worksheets(mysheet).AutoFilterMode = False Then Range("a1").AutoFilter
Dim MyRange As Range
Set MyRange = ActiveCell.CurrentRegion
MyRange.Sort key1:=Range(ActiveCell, ActiveCell.Offset(lastRow - 1, 0)), order1:=xlAscending, Header:=xlYes
MyRange.AutoFilter Field:=mycolumn, Criteria1:="0"
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete
MyRange.AutoFilter Field:=mycolumn
Columns(mycolumn).Resize(, 2).Delete
Cells(2, mycolumn).Select
End Sub
---------------------------------
Sub RemovingFilter()
mycolumn = ActiveCell.Column
Myfilter = ActiveCell.Value
mysheet = ActiveSheet.Name
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveCell.Resize(1, 2).EntireColumn.Insert
ActiveCell.Resize(1, 2).EntireColumn.NumberFormat = "General"
Cells(2, mycolumn + 1).Resize(lastRow - 1, 1).Value = Myfilter
Cells(2, mycolumn).Resize(lastRow - 1, 1).FormulaR1C1 = "=if(RC[2]=RC[1],1,0)"
If Worksheets(mysheet).AutoFilterMode = True Then Worksheets(mysheet).AutoFilterMode = False
If Worksheets(mysheet).AutoFilterMode = False Then Range("a1").AutoFilter
Dim MyRange As Range
Set MyRange = ActiveCell.CurrentRegion
MyRange.Sort key1:=Range(ActiveCell, ActiveCell.Offset(lastRow - 1, 0)), order1:=xlAscending, Header:=xlYes
MyRange.AutoFilter Field:=mycolumn, Criteria1:="0"
Rows(2).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete
MyRange.AutoFilter Field:=mycolumn
Columns(mycolumn).Resize(, 2).Delete
Cells(2, mycolumn).Select
End Sub
4 سال پیش
در تاریخ 1399/10/22 منتشر شده
است.
22
بـار بازدید شده