12

別のシート内で範囲をソートしようとしています。ただし、次のメッセージが表示され続けます。

 '1004': "The sort reference is not valid. Make sure it's within the data you want to sort, and the first Sort By box isn't the same or blank. 

範囲を確認しましたが、それらはすべて存在し、機能しています。

コードは以下のとおりです。

Dim EmpBRange As String

EmpBRange = Sheets("EmployeeData").Cells(Cells.Rows.Count, "B").End(xlUp).Row

Worksheets("EmployeeData").Range("K3:K" & EmpBRange).Sort Key1:=Range("K3:K" & EmpBRange), Order1:=xlAscending, Header:=xlGuess, _
       OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
       DataOption1:=xlSortNormal

前もって感謝します

4

2 に答える 2

39

Key1別のシートからコードを呼び出しているため、範囲を完全に修飾する必要があると思われます。

Worksheets("EmployeeData").Range("K3:K" & EmpBRange).Sort Key1:=Worksheets("EmployeeData").Range("K3:K" & EmpBRange)

これは一般的に良い考えです。

于 2013-03-08T15:18:09.707 に答える