2016-04-15 57 views
0

我得到了一个错误为Sort method out of range。在开始时我得到了同样的错误,并且在我的代码增强之后,我再也没有看到这个错误。错误的'排序方法超出范围'在VBA

现在它再次显示执行时出现同样的错误。这不是有效的编码方式吗?

With Master_workbook.Worksheets("warehouse") 

     'Last row and last column in worksheet("warehouse") 

      Ws1_Lrow = .Cells.Find("*", .Range("A1"), xlFormulas, , xlByRows, xlPrevious).Row 
      Ws1_Lcol = .Cells.Find("*", .Range("A1"), xlFormulas, , xlByColumns, xlPrevious).Column 
      Set rngFilter = .Range(.Cells(1, 1), .Cells(Ws1_Lrow, Ws1_Lcol)) 

       Selection.Sort Key1:=Range("W2"), Order1:=xlDescending, Header:=xlGuess, OrderCustom:=1, Orientation:=xlTopToBottom 

      Master_workbook.Worksheets("warehouse").Columns("Z:Z").Cut 
      Master_workbook.Worksheets("warehouse").Columns("U:U").Insert Shift:=xlToRight 
end with 

回答

0
  1. 变化SelectionrngFilter
  2. 变化Key1:=Range("W2")Key1:=.Range("W2")通知的范围内前点?
  3. 如果工作表中没有数据,那么您尝试查找行和列的方式会给您一个错误。您可能想看到This
  4. 确保Range("W2")rngFilter范围内。您可以使用Intersect来检查它