VBA按DIR排序以按字母顺序传输数据

时间:2017-04-18 16:52:17

标签: excel vba excel-vba sorting

我已经编写了一个宏来将用户选择的文件夹中的所有工作簿中的数据复制并粘贴到主文档中,但是当前宏以随机顺序选择文件。我想要做的是它按字母顺序选择文件,因此主文档中的数据是正确的顺序...帮助实现这一点将非常感激,我不是很珍贵的方法!

def group(data):
    result = ([], [])
    for x in data:
        result[x % 2].append(x)
    return result

(even, odd) = group([1, 4, 7, 3, 2])
print(even) #=> [4, 2]
print(odd) #=> [1, 7, 3]

1 个答案:

答案 0 :(得分:0)

看一下下面的示例,演示如何使用过滤器循环遍历文件夹中的文件,并使用Shell.Application ActiveX按字母顺序排序:

Option Explicit

Sub Test_Shell_Folder_Items()

    Dim sPath
    Dim sExtension
    Dim oShellApp
    Dim oFolder
    Dim oFolderItems
    Dim oFolderItem

    sPath = "C:\Test"
    sExtension = "*.xls"

    Set oShellApp = CreateObject("Shell.Application")
    Set oFolder = oShellApp.Namespace(sPath)
    Set oFolderItems = oFolder.Items()
    oFolderItems.Filter 64 + 128, sExtension ' 32 - folders, 64 - not folders, 128 - hidden
    For Each oFolderItem In oFolderItems
        Debug.Print oFolderItem.Path
    Next

End Sub