每当闪人的时候总是要交接一下,哎!苦脑啊!这多文件,怎么交接呢! Option Explicit Sub GetFile() Dim X As Integer, fileName(1 To 1000, 1 To 1) As String Dim fileTab As Integer, fileArr, sItem Range('C4:C10000').ClearContents fileTab = IIf(Range('D2').Value = '文件夹', 4, 3) With Application.FileDialog(fileTab) .AllowMultiSelect = True .Show If fileTab = 3 Then Dim Arr() As String For Each sItem In .SelectedItems Arr = Split(sItem, '.') If Arr(UBound(Arr)) Like Range('G2').Value Then X = X + 1 fileName(X, 1) = sItem End If Next If X > 0 Then Range('C4').Resize(X).Value = fileName Range('I2').Value = X & ' 个文件' Else Range('C4').Value = '无匹配文件' End If Else If .SelectedItems.Count > 0 Then fileArr = fileNameArr(.SelectedItems(1), '*.' & Range('G2').Value) If IsArray(fileArr) Then For X = LBound(fileArr) To UBound(fileArr) fileName(X, 1) = fileArr(X) Next Range('C4').Resize(X).Value = fileName Range('I2').Value = X - 1 & ' 个文件' Else Range('C4').Value = '无匹配文件' End If Else Range('C4').Value = '无匹配文件' End If End If End With End Sub 

|