Excel-自动排序-停止返回表格顶部

时间:2018-11-21 18:48:58

标签: excel vba excel-vba

我正在使用下面的代码(效果很好),但是一旦我在“关联”列中选择某人,该表就会自动对数据进行排序,但它将带回到表的顶部。我想停留在我刚完成的当前行中。我不想继续向下滚动。有可能吗?

Private Sub Worksheet_Change(ByVal Target As Range)
ThisWorkbook.Sheets("Log").ListObjects("Table1").Sort.SortFields.Clear
ThisWorkbook.Sheets("Log").ListObjects("Table1").Sort.SortFields. _
    Add Key:=Range("Table1[[#ALL],[Date]]"), SortOn:=xlSortOnValues, Order _
    :=xlAscending, DataOption:=xlSortNormal
ThisWorkbook.Sheets("Log").ListObjects("Table1").Sort.SortFields. _
    Add Key:=Range("Table1[[#All],[Time]]"), SortOn:=xlSortOnValues, Order _
    :=xlAscending, DataOption:=xlSortNormal
If Not Intersect(Target, Range("Table1[[#All],[Associate]]")) Is Nothing Then
    With ThisWorkbook.Sheets("Log").ListObjects("Table1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End If
End Sub

1 个答案:

答案 0 :(得分:1)

也许就像添加最后一个Target.Activate一样简单。