批量提取多个excel文件指定单元格内容,并汇总到一个新excel文件里(用excel自带的宏编程运行)

之前用Python写了一个excel多表汇总的代码,看着阅读量挺高的,这次就直接换成excel自带的宏写出多表汇总的功能吧

Sub ExtractDataFromMultipleFiles()
    Dim FolderPath As String
    Dim Filename As String
    Dim Sheet As Worksheet
    Dim DestSheet As Worksheet
    Dim LastRow As Long
    Dim SrcWorkbook As Workbook
    Dim DestWorkbook As Workbook
    
    ' 设置主要的目标工作簿
    Set DestWorkbook = ThisWorkbook
    Set DestSheet = DestWorkbook.Sheets("CombinedData")
    
    ' 选择包含要提取数据的文件夹
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "选择包含数据的文件夹"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        FolderPath = .SelectedItems(1)
    End With
    
    ' 循环遍历文件夹中的所有Excel文件
    Filename = Dir(FolderPath & "\*.xls*")
    Do While Filename <> ""
        ' 打开每个Excel文件
        Set SrcWorkbook = Workbooks.Open(FolderPath & "\" & Filename)
        ' 循环遍历每个工作表
        For Each Sheet In SrcWorkbook.Sheets
            ' 查找目标工作表的最后一行
            LastRow = DestSheet.Cells(DestSheet.Rows.Count, "A").End(xlUp).Row
            ' 复制数据到目标工作表的下一行
            Sheet.UsedRange.Offset(1).Copy DestSheet.Cells(LastRow + 1, 1)
        Next Sheet
        ' 关闭源工作簿
        SrcWorkbook.Close False
        ' 继续下一个文件
        Filename = Dir
    Loop
    
    MsgBox "数据提取完成!", vbInformation
End Sub
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 使用 Python 可以使用第三方库来读取 Excel 文件。 你可以使用 pandas 库来读取 Excel 文件。pandas 库有一个 read_excel() 函数,可以用来读取 Excel 文件中的数据。你可以使用这个函数来读取你想要的单元格中的数据,并将它们整理到一个的表中。 示例代码如下: ```python import pandas as pd # 读取第一个 Excel 文件中的数据 df1 = pd.read_excel('file1.xlsx', sheet_name='Sheet1', usecols='A:D') # 读取第二个 Excel 文件中的数据 df2 = pd.read_excel('file2.xlsx', sheet_name='Sheet1', usecols='A:D') # 将两个表中的数据合并到一个的表中 df = pd.concat([df1, df2]) # 将表中的数据写入一个Excel 文件 df.to_excel('new_file.xlsx', index=False) ``` 上面的代码将会读取两个 Excel 文件中的数据,并将它们合并到一个的表中。然后,将表中的数据写入一个Excel 文件中。 注意,这个示例代码只是一个简单的例子,你可以根据自己的需要来修改代码。比如,你可以调整 usecols 参数来指定读取哪些列,或者调整 sheet_name 参数来指定读取哪个工作表。 ### 回答2: 要实现自动读取多个Excel表格指定单元格内容并整理到一个表,可以使用Python的openpyxl库进行操作。 首先,需要安装openpyxl库。可以使用pip install openpyxl命令来安装。 接下来,可以使用openpyxl库提供的方法来实现自动读取和整理数据。 1. 首先导入openpyxl库:```import openpyxl``` 2. 创建一个Excel文件:```new_workbook = openpyxl.Workbook()``` 3. 选择要读取的Excel文件:```excel_files = ["file1.xlsx", "file2.xlsx", "file3.xlsx"]``` 4. 遍历所有要读取的Excel文件,获取指定单元格内容,并将其整理到表中: ```python for file in excel_files: workbook = openpyxl.load_workbook(file) sheets = workbook.sheetnames for sheet_name in sheets: sheet = workbook[sheet_name] cell_value = sheet['A1'].value # 这假设要读取的单元格是A1 new_sheet = new_workbook.active new_sheet.append([cell_value]) ``` 5. 最后保存整理好的数据到表格文件:```new_workbook.save("new_file.xlsx")``` 以上就是使用Python程序实现自动读取多个Excel表格指定单元格内容并整理到一个表的简单示例。根据实际需求,还可以通过循环遍历读取更多的单元格内容,并对数据进行处理和整理。 ### 回答3: 要实现自动读取多个Excel表格中指定单元格内容并整理到一个表,可以使用Python的pandas库来简化操作。 首先,需要安装pandas库,可以通过在终端或命令提示符中运行以下命令来完成安装: ``` pip install pandas ``` 然后,可以使用pandas的read_excel函数来读取Excel文件。可以使用for循环遍历多个文件,并在每个文件中找到所需的单元格内容。假设要读取的单元格在Sheet1的A1单元格中,具体的实现步骤如下: ```python import pandas as pd # 创建一个空的DataFrame用于保存结果 result = pd.DataFrame() # 遍历多个Excel文件 for file_name in file_list: # 读取当前Excel文件 df = pd.read_excel(file_name, sheet_name='Sheet1') # 提取所需的单元格内容 cell_content = df.iloc[0, 0] # A1单元格 # 将所需的单元格内容添加到结果DataFrame中 result = result.append({'文件名': file_name, '单元格内容': cell_content}, ignore_index=True) # 将结果保存到Excel文件 result.to_excel('整理结果.xlsx', index=False) ``` 在上述代码中,`file_list`是一个包含待读取文件路径的列表。在每个文件的循环中,首先使用`pd.read_excel`函数读取文件指定要读取的Sheet名称。然后,可以使用DataFrame的`iloc`属性来指定提取单元格位置。接下来,将提取单元格内容添加到结果DataFrame中。最后,使用`to_excel`函数将结果保存到Excel文件。 以上就是使用Python程序实现自动读取多个Excel表格中指定单元格内容并整理到一个表的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值