2013-10-31 113 views
0

嘿家伙我继续得到运行时错误1004对象'_Global'的方法'范围'失败,当我尝试做这个简单的排序。运行时错误'1004'排序

Sub Assy_Weld_TrumpfSort() 
' 
' Assy_Weld_TrumpfSort 
' 


Dim sh As Worksheet 
Dim TableName As String 
Dim theTable As ListObject 

Set sh = ActiveSheet 
TableName = sh.Name 
Set theTable = ActiveWorkbook.Worksheets(TableName).ListObjects(TableName) 

    theTable.sort.SortFields.Clear 

    theTable.sort.SortFields.Add _ 
    Key:=Range(TableName & "[PART NUMBER]"), SortOn:=xlSortOnValues, _ 
    Order:=xlAscending, DataOption:=xlSortNormal 
With theTable.sort 
    .Header = xlYes 
    .MatchCase = False 
    .Orientation = xlTopToBottom 
    .SortMethod = xlPinYin 
    .Apply 
End With 
End Sub 

回答

0

你会得到,因为

Range(TableName & "[PART NUMBER]") 

的错误尝试改变它的范围,如:

ActiveWorkbook.Worksheets(TableName).Range("A1") 

这将排序使用列“A”作为第一个排序关键字。