Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅将文件夹中的第一张工作簿复制到一个excel工作簿中_Excel_Vba - Fatal编程技术网

如何仅将文件夹中的第一张工作簿复制到一个excel工作簿中

如何仅将文件夹中的第一张工作簿复制到一个excel工作簿中,excel,vba,Excel,Vba,所以我使用了这段代码,它非常棒。如果我能找到一些线索,如何调整它,使它只复制它从中提取的第一页工作簿。旁注-请记住,并不是每个工作簿的第一页都标题为“Sheet1”,有些已经输入了名称 Sub MergeMultipleWorkbooks() 'Define Variables Dim Path, FileName As String 'Assign Values to Variables Path = Assign a Folder which contains excel files

所以我使用了这段代码,它非常棒。如果我能找到一些线索,如何调整它,使它只复制它从中提取的第一页工作簿。旁注-请记住,并不是每个工作簿的第一页都标题为“Sheet1”,有些已经输入了名称

Sub MergeMultipleWorkbooks()

'Define Variables
Dim Path, FileName As String

'Assign Values to Variables
Path = Assign a Folder  which contains excel files for example "C:\Merge\"
FileName = Dir(Path & "*.xlsx")

'Check FileName in the Given Location
Do While FileName <> ""

'Open Excel File
Workbooks.Open FileName:=Path & FileName, ReadOnly:=True

'Copy all the sheet to this workbook
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet

'Close the ActiveWorkbook
Workbooks(FileName).Close
'Assign a Excel FileName

'Assign Next Excel FileName
FileName = Dir()
Loop

'Display a Message
MsgBox "Files has been copied Successfull", , "MergeMultipleExcelFiles"
End Sub
子合并多个工作簿()
'定义变量
Dim路径,文件名为字符串
'为变量赋值
Path=指定一个包含excel文件的文件夹,例如“C:\Merge\”
FileName=Dir(路径&“*.xlsx”)
'检查给定位置中的文件名
文件名“”时执行此操作
'打开Excel文件
工作簿。打开文件名:=路径和文件名,只读:=真
'将所有工作表复制到此工作簿
对于ActiveWorkbook.Sheets中的每个工作表
Sheet.Copy After:=此工作簿.Sheets(1)
下一页
'关闭活动工作簿
工作簿(文件名)。关闭
'指定Excel文件名
'分配下一个Excel文件名
FileName=Dir()
环
'显示消息
MsgBox“文件已成功复制”,“合并多个文件”
端接头

所有零件都在这里。我刚刚去掉了For-Each循环

Sub MergeMultipleWorkbooks()
    'Define Variables
     Dim Path, FileName As String
    'Assign Values to Variables
     Path = "C:\Merge\"
     FileName = Dir(Path & "*.xlsx")
    'Check FileName in the Given Location
    Do While FileName <> ""
        'Open Excel File
        Workbooks.Open FileName:=Path & FileName, ReadOnly:=True
        'Copy the first sheet in file into this workbook
        Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
        'Close the ActiveWorkbook
         Workbooks(FileName).Close
        'Assign Next Excel FileName
        FileName = Dir()
    Loop
    'Display a Message
    MsgBox "Files has been copied Successfully", , "MergeMultipleExcelFiles"
End Sub
子合并多个工作簿()
'定义变量
Dim路径,文件名为字符串
'为变量赋值
Path=“C:\Merge\”
FileName=Dir(路径&“*.xlsx”)
'检查给定位置中的文件名
文件名“”时执行此操作
'打开Excel文件
工作簿。打开文件名:=路径和文件名,只读:=真
'将文件中的第一张工作表复制到此工作簿中
工作表(1).复制后:=此工作簿.工作表(1)
'关闭活动工作簿
工作簿(文件名)。关闭
'分配下一个Excel文件名
FileName=Dir()
环
'显示消息
MsgBox“文件已成功复制”,“合并多个ExcelFile”
端接头

所有零件都在这里。我刚刚去掉了For-Each循环

Sub MergeMultipleWorkbooks()
    'Define Variables
     Dim Path, FileName As String
    'Assign Values to Variables
     Path = "C:\Merge\"
     FileName = Dir(Path & "*.xlsx")
    'Check FileName in the Given Location
    Do While FileName <> ""
        'Open Excel File
        Workbooks.Open FileName:=Path & FileName, ReadOnly:=True
        'Copy the first sheet in file into this workbook
        Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
        'Close the ActiveWorkbook
         Workbooks(FileName).Close
        'Assign Next Excel FileName
        FileName = Dir()
    Loop
    'Display a Message
    MsgBox "Files has been copied Successfully", , "MergeMultipleExcelFiles"
End Sub
子合并多个工作簿()
'定义变量
Dim路径,文件名为字符串
'为变量赋值
Path=“C:\Merge\”
FileName=Dir(路径&“*.xlsx”)
'检查给定位置中的文件名
文件名“”时执行此操作
'打开Excel文件
工作簿。打开文件名:=路径和文件名,只读:=真
'将文件中的第一张工作表复制到此工作簿中
工作表(1).复制后:=此工作簿.工作表(1)
'关闭活动工作簿
工作簿(文件名)。关闭
'分配下一个Excel文件名
FileName=Dir()
环
'显示消息
MsgBox“文件已成功复制”,“合并多个ExcelFile”
端接头
子合并多个工作簿()
Dim路径,文件名为字符串
Path=“C:\Merge\”
FileName=Dir(路径&“*.xlsx”)
文件名“”时执行此操作
打开(文件名:=路径和文件名,只读:=真)
.工作表(1).之后复制:=此工作簿.工作表(1)
.关闭错误
以
FileName=Dir()
环
MsgBox“文件已成功复制”,“合并多个文件”
端接头
子合并多个工作簿()
Dim路径,文件名为字符串
Path=“C:\Merge\”
FileName=Dir(路径&“*.xlsx”)
文件名“”时执行此操作
打开(文件名:=路径和文件名,只读:=真)
.工作表(1).之后复制:=此工作簿.工作表(1)
.关闭错误
以
FileName=Dir()
环
MsgBox“文件已成功复制”,“合并多个文件”
端接头

哦,哇。我明天要去图书馆试试这个。谢谢你,祝你假期愉快。我明天要去图书馆试试这个。谢谢你,节日快乐