ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 代码运行后 其他单元格的求和公式被清除

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-1-12 15:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这样修改一下,你试下可以不

TA的精华主题

TA的得分主题

发表于 2024-1-12 15:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub 主营业务收支汇总()
  2.   
  3.   Application.ScreenUpdating = False
  4.   Application.DisplayAlerts = False
  5.   Dim sht As Worksheet
  6.   Dim arr1, arr2, arr3, brr
  7.   Dim d1, d2, d3
  8.   Set d1 = CreateObject("scripting.dictionary")
  9.   Set d2 = CreateObject("scripting.dictionary")
  10.   Set d3 = CreateObject("scripting.dictionary")
  11.   strPath = ThisWorkbook.Path & ""
  12.   With Application.FileDialog(1)
  13.         With .Filters
  14.           .Clear
  15.           .Add "Excel Files", "*.xlsx"
  16.         End With
  17.   .AllowMultiSelect = True
  18.   .InitialFileName = strPath
  19.   If .Show Then Set Items = .SelectedItems Else Exit Sub
  20.   End With
  21. For Each vitem In Items
  22.     With GetObject(vitem)
  23.     If InStr(vitem, "2024年A-B请款单【开采】") Then
  24.           For Each sht In .Sheets
  25.           lie = sht.UsedRange.Find("金额/元").Column
  26.           hang = sht.[a1:a1000].Find("合计").Row
  27.           d1(sht.Name & "月") = Array(Val(Format(sht.Cells(hang, lie), "0.00")), _
  28.           Val(Format(sht.Cells(hang, lie + 1), "0.00")), _
  29.            Val(Format(sht.Cells(hang, lie + 2), "0.00")))
  30.           Next
  31.      End If
  32.         If InStr(vitem, "2024年B-C请款单【开采&机械】") Then
  33.         For Each sht In .Sheets
  34.         lie = sht.UsedRange.Find("金额/元").Column
  35.         hang = sht.[a1:a1000].Find("合计").Row
  36.         d2(sht.Name & "月") = Array(Val(Format(sht.Cells(hang, lie), "0.00")), _
  37.         Val(Format(sht.Cells(hang, lie + 1), "0.00")), _
  38.         Val(Format(sht.Cells(hang, lie + 2), "0.00")))
  39.         Next
  40.       End If
  41.      If InStr(vitem, "2024年B-车队请款【运输】") Then
  42.         For Each sht In .Sheets
  43.         lie = sht.UsedRange.Find("金额").Column
  44.         hang = sht.[a1:a1000].Find("总计").Row
  45.         d3(sht.Name & "月") = sht.Cells(hang, lie)
  46.         Next
  47.       End If
  48.     End With
  49.   Next
  50.     With ThisWorkbook.Sheets("主营业务利润表")
  51.         For x = 3 To 14
  52.              s = .Cells(x, 1).Value
  53.               If d1.exists(s) Then
  54.               .Cells(x, 2) = d1(s)(0)
  55.                .Cells(x, 3) = d1(s)(1)
  56.                .Cells(x, 4) = d1(s)(2)
  57.               End If
  58.         Next
  59.         .[b15].Resize(1, 3).FormulaR1C1 = "=SUM(R3C:R[-1]C)"
  60.    
  61.         For x = 20 To 31
  62.               s = .Cells(x, 1).Value
  63.             If d2.exists(s) Then
  64.              .Cells(x, 2) = d2(s)(0)
  65.              .Cells(x, 3) = d2(s)(1)
  66.             .Cells(x, 4) = d2(s)(2)
  67.             End If
  68.          
  69.             If d3.exists(s) Then
  70.             .Cells(x, 7) = d3(s)
  71.             End If
  72.         Next
  73.         .[b32].Resize(1, 7).FormulaR1C1 = "=SUM(R20C:R[-1]C)"
  74. End With
  75.   MsgBox "ok!"
  76.   Application.DisplayAlerts = True
  77.   Application.ScreenUpdating = True
  78. End Sub
复制代码
为什么之前的还不显示呢?审核时间也太长了吧

TA的精华主题

TA的得分主题

发表于 2024-1-12 17:38 | 显示全部楼层

image.png

月份在A列,应该跟上边的一样也是1,为什么写成20?

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-15 09:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

大神早上好 目前是出现了这个情况

收入可以正常保留公式了 但是支出还是不可以 麻烦您帮我看看
11.png
问题.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-15 10:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
维叶 发表于 2024-1-12 15:58
为什么之前的还不显示呢?审核时间也太长了吧

大神,你好 代码可以成功运行了 很厉害
但是可以选择文件夹吗?你这个是具体到表格了 有点不方便呀

TA的精华主题

TA的得分主题

发表于 2024-1-15 15:38 | 显示全部楼层
了却无痕 发表于 2024-1-15 10:09
大神,你好 代码可以成功运行了 很厉害
但是可以选择文件夹吗?你这个是具体到表格了 有点不方便呀

你的程序本来就是选择文件的啊,我没有修改,只是修改了点写入单元格,不覆盖你的公式而已,你说的不方便指什么,不明白

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-1-16 11:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
维叶 发表于 2024-1-15 15:38
你的程序本来就是选择文件的啊,我没有修改,只是修改了点写入单元格,不覆盖你的公式而已,你说的不方便 ...

这样子吗 好的 那谢谢大佬了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 07:34 , Processed in 0.029337 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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