2013-10-31 108 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」作爲第一個排序關鍵字。