我想要实现的目的是:
我每天会得到一个固定格式的TXT文件,由于EXCEL数据处理较方便,所以我希望把每一天的的这个TXT数据导入到EXCEL中,要求每一天的TXT对应一个EXCEL的SHEET,如果一天导一个,工作量不大,但是基本每天很忙,我希望月末的时候一次性将30个TXT导入到一个EXCEL报表的30个SHEET中,我在网上搜了一下,好像说上述程序能够帮助我实现该功能,我的问题是:
1)这段程序我不懂,能否请专家帮我解释一下?
2)我前期该如何操作才能使用上这段程序?
Sub D20合并文本()
'made by fxw
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim newwb As Workbook
Set newwb = Workbooks.Add
newwb.Application.ActiveWindow.Caption = "MergeTXT.xls"
With fd
.Filters.Clear
.Filters.Add "文本文件", "*.txt", 1
.Filters.Add "所有文件", "*.*", 2
.Title = " 请选择要合并的txt文件 "
If .Show = -1 Then
Application.ScreenUpdating = False
Dim vrtSelectedItem As Variant
Dim i As Integer
i = 1
For Each vrtSelectedItem In .SelectedItems
Dim tempwb As Workbook
Set tempwb = Workbooks.Open(vrtSelectedItem)
tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i)
newwb.Worksheets(i).Name = VBA.Replace(tempwb.Name, ".txt", "")
tempwb.Close savechanges:=False
i = i + 1
Next vrtSelectedItem
Else:
newwb.Close savechanges:=False
Exit Sub
End If
End With
Set fd = Nothing
If ActiveWorkbook.Sheets.Count > 3 Then
Sheets("Sheet1").Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Sheets("Sheet2").Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Sheets("Sheet3").Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End If
Sheets(1).Select
Application.ScreenUpdating = True
End Sub
啊,突然发现问题快过期了,可是下面各位提出的方案我还没有尝试呢,怎么延期呢?