当前位置:首页教育技巧excel技巧excel换行

用excel做一个工作簿如何做

减小字体 增大字体 2025-01-18 10:21:27


1.如何将EXCEl多个工作簿复制到一个工作簿中

Sub 各表汇总()

Dim fs, f, f1, fc, s, x, rowss, columnss

Dim filename, str As String

Set a = ActiveWorkbook

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder(0, "选择文件夹", 0, 0)

If Not objFolder Is Nothing Then

str = objFolder.self.path

Else: End

End If

Set objFolder = Nothing

Set objShell = Nothing '释放内存

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.GetFolder(str)

Set fc = f.Files

x = 1

For Each f1 In fc

Application.ScreenUpdating = False

If Right(f1.Name, 3) = "xls" Then

Workbooks.Open (f1.path)

rowss = Workbooks(f1.Name).Sheets(1).Range("A65536").End(xlUp).Row

columnss = Workbooks(f1.Name).Sheets(1).Columns.Count

Application.CutCopyMode = True

Workbooks(f1.Name).Sheets(1).Range("a2" & ":y" & CStr(rowss)).Copy

a.Activate

'MsgBox ActiveWorkbook.Name

ActiveSheet.Range("b" & CStr(x + 1) & ":z" & CStr(x + rowss - 1)).Select

ActiveSheet.Paste

i = Workbooks(f1.Name).Name

j = Left(i, Len(i) - 4)

a.Sheets(1).Range("a" & CStr(x + 1) & ":a" & CStr(x + rowss - 1)) = j

x = x + rowss - 1

Application.CutCopyMode = False

Workbooks(f1.Name).Close savechanges:=False

End If

Next

Application.ScreenUpdating = ture

Set fc = Nothing

Set f = Nothing

Set fs = Nothing '释放内存

End Sub

评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2025 www.at317.com All Rights Reserved .