我有以下代码,但出现以下错误: 运行时错误“ 1004”: 对象“ _Worksheet”的方法“范围”失败
我似乎无法弄清楚。该错误显示在“如果不相交”行上。任何帮助将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Worksheets("Log").ListObjects("Table1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Log").ListObjects("Table1").Sort.SortFields. _
Add Key:=Range("Table1[[#ALL],[Date]]"), SortOn:=xlSortOnValues, Order _
:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("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 ActiveWorkbook.Worksheets("Log").ListObjects("Table1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
结束子
以上代码的工作原理就像一个超级按钮(人为错误)。但是,一旦代码完成,它将带我回到表格的顶部。有没有办法使焦点集中在最后一行上?
答案 0 :(得分:0)
在查看SJR和Gravitate的评论后,我重新检查了标题栏。看起来最后有一个多余的空间,一旦我删除它,代码就会按预期工作。