|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
Sub 合并工作簿()
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
Application.ScreenUpdating = False
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xlsx), *.xlsx", _
MultiSelect:=True, Title:="Files to Merge")
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
Sheets().Move After:=ThisWorkbook.Sheets _
(ThisWorkbook.Sheets.Count)
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
Sub 合并工作表()
For Each st In Worksheets
If st.Name <> ActiveSheet.Name Then st.UsedRange.Offset(0, 0).Copy [a1048576].End(xlUp).Offset(1, 0)
Next
End Sub
Sub 删除其他工作表()
Dim arr()
Application.DisplayAlerts = False
A = ActiveWorkbook.ActiveSheet.Name
icount = Sheets.Count
For i = 1 To icount
t = Sheets(i).Name
Sheets(i).Visible = -1
If t <> A Then
r = r + 1
ReDim Preserve arr(1 To r)
arr(r) = t
End If
Next
Sheets(arr).Select
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
End Sub
Sub 清空本表()
Cells.Select
Selection.Clear
Range("A1").Select
End Sub
Sub 导出()
Application.ScreenUpdating = False
Dim str As String
Cells.Select
str = Replace(ActiveWorkbook.Name, ".xlsm", "") & Format(Now, "yyyymmdd-hhmmss")
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ChDir "C:\桌面"
ActiveWorkbook.SaveAs Filename:= _
"C:\桌面\" & str & ".xlsx"
Range("A1").Select
ActiveWindow.Close
Application.ScreenUpdating = True
End Sub
|
|