2,462
社区成员
发帖
与我相关
我的任务
分享
Sub 读取数据()
'made by fxw
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim NewWB As Workbook
Set NewWB = Workbooks.Add
NewWB.Application.ActiveWindow.Caption = "临时数据.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
Dim iLineCount As Long
i = 1
iLineCount = 1
Application.DisplayAlerts = False
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 = Replace(TempWB.Name, ".txt", "")
'TempWB.Close savechanges:=False
'i = i + 1
i = TempWB.Sheets(1).UsedRange.Rows.Count
TempWB.Sheets(1).Range("1:" & i).Copy
NewWB.Sheets(1).Paste NewWB.Sheets(1).Range("A" & iLineCount)
TempWB.Close False
iLineCount = iLineCount + i
Next
Else
NewWB.Close False
Exit Sub
End If
End With
Sheets(1).Select
Range("A1").Select
'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
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Selection.AutoFilter '筛选
End Sub
Sub 读取数据()
'made by fxw
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim NewWB As Workbook
Set NewWB = Workbooks.Add
NewWB.Application.ActiveWindow.Caption = "临时数据.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
Dim iLineCount As Long
i = 1
iLineCount = 1
Application.DisplayAlerts = False
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 = Replace(TempWB.Name, ".txt", "")
'TempWB.Close savechanges:=False
'i = i + 1
i = TempWB.Sheets(1).UsedRange.Rows.Count
TempWB.Sheets(1).Range("1:" & i).Copy
NewWB.Sheets(1).Paste NewWB.Sheets(1).Range("A" & iLineCount)
TempWB.Close False
iLineCount = iLineCount + i
Next
Else
NewWB.Close False
Exit Sub
End If
End With
Sheets(1).Select
Range("A1").Select
'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
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Selection.AutoFilter '筛选
End Sub