用vba 实现读取一个目录下的所有文件的数据并输出成文件
用vba 怎么实现点击一个按钮后,可以选择一个文件夹目录,然后把该目录下的所有Excel文件的数据都读出来输出到一个文件?
在一个Excel里循环遍历所有sheet页把数据读出来输出文件的处理我实现了。可是一次目录下所有文件都实现这个处理不太清楚。
刚接触VBA,请大家帮帮忙。
[解决办法]
按你说的,你不知道如何选择一个文件夹,用FileDialog:
Dim myDialog As FileDialog, oFile As Object, strName As String, n As Integer
Dim FSO As Object, myFolder As Object, myFiles As Object
Dim fn$
Set myDialog = Application.FileDialog(msoFileDialogFolderPicker)
n = 1
With myDialog
If .Show <> -1 Then Exit Sub
Set FSO = CreateObject("Scripting.FileSystemObject") '这是文件夹选择,点选到你存放文件的那个
Set myFolder = FSO.GetFolder(.InitialFileName)
Set myFiles = myFolder.Files
For Each oFile In myFiles
strName = UCase(oFile.Name)
strName = VBA.Right(strName, 3)
If strName = "xls" Or strName = "XLS" Then '这是扩展名选择
'下面就可接着写打开文件读取数据再写入的语句了,如下:
fn = myFolder & "" & oFile.Name
'在这里写你已经实现的对一个文件fn进行操作的过程,完了之后关闭,释放资源
n = n + 1
End If
Next
End With