排序时出现范围错误

时间:2015-11-25 15:03:08

标签: excel vba excel-vba sorting

我有一些代码可以读取文件夹中的所有文件,并将它们显示在Excel的一列中。在获取数据之后,我希望VBA对这些数据进行排序,但我一直得到一个:

  

运行时错误'1004':选择Range类的方法失败。

注意,我只对列A进行排序感兴趣。根据我搜索的文件类型,可能有10个结果,或者可能有100多个结果。

我有一个名为“gatherInfo”的按钮,一旦点击此按钮,收集信息(由于文件夹名称和文件名的机密性,无法显示该部分代码)。信息的收集工作得很好,但排序却没有。

Private Sub GatherInfo_Click()

   *gets info*

   Cells(1, 1).Select
   Cells(1, 1).Select
   Sheets("Data").Select

   Dim oneRange As Range
   Dim aCell As Range

   Set oneRange = Range("A1:A100")
   Set aCell = Range("A1")

   oneRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes

End Sub

我尝试按名称排序的文件示例:

 - cat01.exe
 - cat07.exe
 - cat02.exe
 - cat11.exe
 - cat03.exe

希望它看起来像:

 - cat01.exe
 - cat02.exe
 - cat03.exe
 - cat07.exe
 - cat11.exe

编辑:改变了一下代码,摆脱了Select语句,错误消失但仍未排序

Private Sub GatherInfo_Click()

   *gets info*

   Dim oneRange As Range
   Dim aCell As Range

   Set oneRange = Range("A1:A100")
   Set aCell = Range("A1")

   oneRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes

End Sub

EDIT02:我认为我的问题是实际的文件名,结束了我的问题

1 个答案:

答案 0 :(得分:1)

因为这有效:

Public Sub GatherInfo_Click()

   '*gets info*

   Cells(1, 1).Select
   Cells(1, 1).Select
   Sheets("Data").Select

   Dim oneRange As Range
   Dim aCell As Range

   Set oneRange = Range("A1:A100")
   Set aCell = Range("A1")

   oneRange.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes

End Sub

检查数据

的拼写