ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 183|回复: 4

[已解决] 最后一行添加合计,给G列和H列求和。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-8-10 14:15 | 显示全部楼层 |阅读模式
本帖最后由 ruhong18 于 2024-8-10 17:19 编辑

批量将文件夹内所有文件的所有工作簿(有数据的)最后一行添加【合计:对G列和H列求和。】

求助.zip

17.67 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2024-8-10 14:34 | 显示全部楼层
Sub test()
Application.ScreenUpdating = False
fname = Dir(ThisWorkbook.Path & "\文件夹\*.xls")
Do While fname <> ""
    Set wb = Workbooks.Open(ThisWorkbook.Path & "\文件夹\" & fname)
    For Each sh In wb.Sheets()
        lastrow = sh.[G1].End(xlDown).Row
        sh.Cells(lastrow + 1, 1) = "合计:"
        sh.Cells(lastrow + 1, "G") = WorksheetFunction.Sum(sh.Range("G2:G" & lastrow))
        sh.Cells(lastrow + 1, "H") = WorksheetFunction.Sum(sh.Range("H2:H" & lastrow))
    Next
    wb.Close savechanges:=True
    fname = Dir
Loop
Application.ScreenUpdating = True
MsgBox "OK!"
End Sub

求助.zip

28.39 KB, 下载次数: 11

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-10 15:10 | 显示全部楼层
Sub qs() '多工作簿多工作表最后一行添加合计
    Dim fso As Object
    Dim folderPath As String
    Dim file As Object
    Dim wb As Workbook, xb As Workbook, sht As Worksheet
Set wb = ThisWorkbook

ph = ThisWorkbook.Path & "\文件夹"

    ' 创建FileSystemObject对象
    Application.ScreenUpdating = False
    Set fso = CreateObject("Scripting.FileSystemObject")
    ' 设置要遍历的文件夹路径
    folderPath = ph
    ' 检查文件夹是否存在
    If fso.FolderExists(folderPath) Then
        ' 获取文件夹
        Set folder = fso.GetFolder(folderPath)
        ' 遍历文件夹中的所有文件
        For Each file In folder.Files
            ' 检查文件是否是Excel文件
            If LCase(fso.GetExtensionName(file.Name)) = "xlsx" Or _
               LCase(fso.GetExtensionName(file.Name)) = "xls" Then
                ' 这里是文件名
'                Debug.Print file.Name
                Set xb = Workbooks.Open(ph & "\" & file.Name, 0)
               
                For Each sht In xb.Sheets
                    rw = sht.Cells(Rows.Count, "b").End(3).Row
                    sm1 = 0: sm2 = 0
                    arr = sht.Range("a1:h" & rw).Value
                    sm1 = Application.Sum(Application.Index(arr, 0, 7))
                    sm2 = Application.Sum(Application.Index(arr, 0, 8))
                    
                    sht.Range("g" & rw + 1).Value = sm1
                    sht.Range("h" & rw + 1).Value = sm2
                Erase arr
                Next
            End If
        xb.Close (1)
        Next file
    Else
        MsgBox "指定的文件夹不存在。"
    End If
    ' 清理
    Set fso = Nothing: Set wb = Nothing
    Set folder = Nothing: Set xb = Nothing
    Application.ScreenUpdating = True
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-8-10 15:13 | 显示全部楼层
多工作簿多工作表最后一行添加合计给G列和H列求和

多工作簿多工作表最后一行添加合计给G列和H列求和.rar

35 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2024-8-10 15:23 | 显示全部楼层
参与一下。

123.zip

13.6 KB, 下载次数: 10

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 11:26 , Processed in 0.038781 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表