写个vba程序,能合并多个文件
时间: 2023-02-06 07:40:25 浏览: 102
你好! 下面是一个可以合并多个文件的 VBA 程序:
Sub MergeFiles()
' 定义变量
Dim FilesToOpen, FileName As String
Dim FileNum As Integer
Dim Counter As Integer
Dim RowNdx As Long
Dim ColNdx As Integer
Dim Sheet As Worksheet
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Dim Last As Long
' 设置工作簿和工作表
Set WorkBk = ActiveWorkbook
Set Sheet = WorkBk.ActiveSheet
' 弹出文件选择对话框,让用户选择要合并的文件
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Excel Files (*.xls*), *.xls*", _
MultiSelect:=True, Title:="选择要合并的文件")
' 循环遍历所有选择的文件
For Counter = 1 To UBound(FilesToOpen)
' 设置文件名
FileName = FilesToOpen(Counter)
' 打开文件
FileNum = FreeFile()
Open FileName For Input As #FileNum
' 设置行和列的索引
RowNdx = 1
ColNdx = 1
' 循环读取文件中的每一行
Do While Not EOF(FileNum)
' 读取一行数据
Line Input #FileNum, TextLine
' 将数据写入工作表
Sheet.Cells(RowNdx, ColNdx).Value = TextLine
' 增加行索引
RowNdx = RowNdx + 1
Loop
' 关闭文件
Close #FileNum
Next Counter
End Sub
该程序会弹出文件选择对话框,让用户选择要合并的文件,然后将所有选择的文件的数据依次写入当前活动的工作表中。
希望这个程序能帮到你。
阅读全文