我有一些代码可以读取文件夹中的所有文件,并将它们显示在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:我认为我的问题是实际的文件名,结束了我的问题
答案 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
检查数据
的拼写