【发布时间】:2018-09-27 14:56:15
【问题描述】:
我正在为 excel 创建一个数据库。 目标是让输入的数据按颜色自动排序,然后按字母顺序。
我正在使用以下 VBA 进行自动排序。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Range("A1").Sort Key1:=Range("A2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
我已经为颜色排序设置了宏,如下所示:
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
ActiveWorkbook.Worksheets("Master").ListObjects("Table2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Master").ListObjects("Table2").Sort.SortFields.Add( _
Range("Table2[Name]"), xlSortOnCellColor, xlDescending, , xlSortNormal). _
SortOnValue.Color = RGB(255, 0, 0)
With ActiveWorkbook.Worksheets("Master").ListObjects("Table2").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
问题是一旦我输入新数据,字母排序就会覆盖颜色排序。
谁能帮我把颜色排序覆盖字母顺序?
非常感谢任何帮助!
【问题讨论】: