过滤单元格颜色和sorting不起作用

1)在列A,我正在做条件格式select重复的值,并突出显示它们。 2)然后我将filter添加回工作表3)按A到ZsortingA列4)按颜色对A列进行sorting5)按A到Zsorting列J 6)在插入列B和D后7)通过颜色过滤列A(不工作)8)键入ck dup并复制到B列中的所有单元格9)在列D中添加一个公式以连接列B和D
10)在列C中粘贴连接值11)删除并添加filter到表格12)按值A到Z(不工作)对列L进行sorting13)在列D中再次添加公式到连接列L和列C 14)粘贴C列中的值

在这段代码中,我按颜色进行过滤,但是它不工作,而且对一列的sorting工作正常,但是当我对下一列L进行sorting时,它也不起作用。

我希望它通过颜色进行过滤,然后对列A和列L进行sorting,如代码中所示。

代码如下

Sub RemoveFilters() Dim j As Long Range("A2").Select j = Range("A2").CurrentRegion.Rows.Count With Range("A2:A" & j) .FormatConditions.Delete End With End Sub Sub ApplyFilters() Dim j As Long Range("A2").Select j = Range("A2").CurrentRegion.Rows.Count With Range("A2:A" & j) .FormatConditions.Delete .FormatConditions.AddUniqueValues .FormatConditions(1).DupeUnique = xlDuplicate .FormatConditions(1).Interior.Color = RGB(255, 182, 193) End With Call SortValues Columns("B:B").Insert Shift:=xlToRight, _ CopyOrigin:=xlFormatFromLeftOrAbove 'or xlFormatFromRightOrBelow Columns("D:D").Insert Shift:=xlToRight, _ CopyOrigin:=xlFormatFromLeftOrAbove 'or xlFormatFromRightOrBelow 'Filter Column A by color ActiveSheet.AutoFilter.Sort.SortFields.Add(Range("A1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 182, 193) ActiveSheet.AutoFilter.Sort.Apply Sheets("Sheet1").Select Range("A1").AutoFilter Field:=1, Criteria1:="<>" ActiveSheet.AutoFilter.Sort.SortFields.Clear ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("L1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.AutoFilter.Sort.Apply Call SetValue1 ActiveSheet.AutoFilter.Sort.SortFields.Clear 'Add filters to spred sheet (point XXI) not required because, it will cover in point XXIX 'Delete Columns B&D Range("B:B,D:D").Delete Sheets("Sheet1").Select Range("A1").AutoFilter Field:=1, Criteria1:="<>" ActiveSheet.AutoFilter.Sort.SortFields.Clear ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.AutoFilter.Sort.Apply End Sub Sub SortValues() 'Sort based on AZ Sheets("Sheet1").Select Range("A1").AutoFilter Field:=1, Criteria1:="<>" ActiveSheet.AutoFilter.Sort.SortFields.Clear ActiveSheet.AutoFilter.Sort.SortFields.Add(Range("A1"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 182, 193) ActiveSheet.AutoFilter.Sort.Apply 'Sort on Column J by AZ Sheets("Sheet1").Select Range("J1").AutoFilter Field:=1, Criteria1:="<>" ActiveSheet.AutoFilter.Sort.SortFields.Clear ActiveSheet.AutoFilter.Sort.SortFields.Add Key:=Range("J1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveSheet.AutoFilter.Sort.Apply End Sub Sub SetValue() Dim i As Long, r1 As Range, r2 As Range, r3 As Range, lColor As Long Dim j As Long, BVal, CVal Range("A2").Select j = Range("A2").CurrentRegion.Rows.Count lColor = 16777215 '12695295 '-4142 For i = 2 To 565 'MsgBox Cells(i, 1).Interior.Color If Cells(i, 1).Interior.Color = lColor Then Cells(i, 2).Value = "ck dup" Set BVal = Cells(i, 2) Set CVal = Cells(i, 3) Cells(i, 4).Value = BVal & CVal 'This will replace functionality as copying "=b2&c2" and copy pastSpecial D column into same D column to get rid of Formula 'Copy Column D value to Column C Cells(i, 3).Value = Cells(i, 4) Cells(i, 4).Value = "" End If Next i End Sub Sub SetValue1() Dim i As Long, r1 As Range, r2 As Range, r3 As Range, lColor As Long Dim j As Long, LVal, CVal Range("A2").Select j = Range("A2").CurrentRegion.Rows.Count 'lColor = 16777215 '12695295 '-4142 For i = 2 To 565 'If Cells(i, 1).Interior.Color = lColor Then Set LVal = Cells(i, 12) Set CVal = Cells(i, 3) Cells(i, 4).Value = LVal & CVal 'This will replace functionality as copying "=l2&c2" and copy pastSpecial D column into same D column to get rid of Formula 'Copy Column D value to Column C Cells(i, 3).Value = Cells(i, 4) Cells(i, 4).Value = "" 'End If Next i End Sub