【发布时间】:2014-01-16 23:35:56
【问题描述】:
这是工作时间最长的,但我想我可能做了一些事情把它搞砸了。我已经检查过并重新检查过,它不再对我的数据进行排序。该代码适用于其他工作表,但我无法弄清楚为什么它不能在当前工作表上工作。
它给了我错误“1004”: Range类的排序方法失败
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Don't run this code unless a value is last entered in column "H"
If Not Target.Column = "8" Then Exit Sub
'Prevents endless loops
Application.EnableEvents = False
'Assumptions
'1. Data only housed in Columns H
'2. The first row contains headings or labels
'3 Column "H" is used as the sort criteria
Me.UsedRange.Sort Key1:=Columns("H"), Order1:=xlAscending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Application.EnableEvents = True
On Error Resume Next
ActiveWorkbook.Save
End Sub
【问题讨论】:
-
如果我尝试,您的代码可以工作。 H列中的所有数据都有效吗?没有无法排序的混乱计算之类的?
-
我也是这么说的。我实际上在另一部分中有代码,它工作正常。我在“H”中唯一拥有的是技术名称,例如“joe”或“Phil”。这对我来说没有意义。