ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 研发费用台账明细表自动生成模板。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-1-2 20:55 | 显示全部楼层 |阅读模式


按照项目编号自动生成每个项目单独的研发明细账.
适配新政策,2021版研发台账明细表可以按照基础数据自动生成.
希望朋友们喜欢.

代码如下,未使用类模块.
  1. Sub 研发辅助明细账()
  2.     Application.ScreenUpdating = False
  3.     Set wbk = ActiveWorkbook
  4.     Set sht = wbk.Sheets("数据源")
  5.     Set nht = wbk.Sheets("研发支出辅助账")
  6.     Set 项目 = CreateObject("Scripting.Dictionary")
  7.     Dim 子研发明细(1 To 65536, 1 To 30)
  8.     arr = sht.[a1].CurrentRegion
  9.     For y = 1 To UBound(arr, 2)
  10.         If InStr(arr(1, y), "项目编号") Then 项目号no = y
  11.         If InStr(arr(1, y), "项目名称") Then 项目名no = y
  12.         If arr(1, y) = "日期" Then 日期no = y
  13.         If InStr(arr(1, y), "凭证号") Then 凭证号no = y
  14.         If InStr(arr(1, y), "摘要") Then 摘要no = y
  15.         If InStr(arr(1, y), "借方") Then 金额no = y
  16.         If InStr(arr(1, y), "归类") Then 归类no = y
  17.     Next y
  18.     For x = 2 To UBound(arr)
  19.         If 项目.exists(arr(x, 项目号no)) = False Then
  20.             so = so + 1
  21.             项目(arr(x, 项目号no)) = arr(x, 项目名no)
  22.         End If
  23.     Next x
  24.     For Each 项目n In 项目.keys
  25.         Debug.Print 项目n
  26.         For x = 2 To UBound(arr)
  27.             If arr(x, 项目号no) = 项目n And arr(x, 金额no) <> 0 Then
  28.                 sw = sw + 1
  29.                 子研发明细(sw, 1) = arr(x, 日期no)
  30.                 子研发明细(sw, 2) = "记"
  31.                 子研发明细(sw, 3) = arr(x, 凭证号no)
  32.                 子研发明细(sw, 4) = arr(x, 摘要no)
  33.                 子研发明细(sw, 5) = arr(x, 金额no)
  34.                 子研发明细(sw, 6) = 子研发明细(sw, 5)
  35.                 Select Case arr(x, 归类no)
  36.                     Case "人员人工费用"
  37.                         子研发明细(sw, 7) = arr(x, 金额no)
  38.                     Case "直接投入费用"
  39.                         子研发明细(sw, 8) = arr(x, 金额no)
  40.                     Case "折旧费用"
  41.                         子研发明细(sw, 9) = arr(x, 金额no)
  42.                     Case "无形资产摊销"
  43.                         子研发明细(sw, 10) = arr(x, 金额no)
  44.                     Case "新产品 设计费等"
  45.                         子研发明细(sw, 11) = arr(x, 金额no)
  46.                     Case "其他相关费用合计"
  47.                         子研发明细(sw, 12) = arr(x, 金额no)
  48.                     Case "委托境外机构进行研发活动所发生的费用"
  49.                         子研发明细(sw, 14) = arr(x, 金额no)
  50.                 End Select
  51.             End If
  52.         Next x
  53.         nht.Copy after:=Sheets(Sheets.Count)
  54.         ActiveSheet.Name = 项目n
  55.         ActiveSheet.[a3] = "项目编号:" & 项目n
  56.         ActiveSheet.[f3] = "项目名称:" & 项目(项目n)
  57.         If sw > 7 Then [a8].Resize(sw - 6, 1).EntireRow.Insert
  58.         If sw > 0 Then [a7].Resize(sw, 14) = 子研发明细
  59.         
  60.         Erase 子研发明细
  61.         sw = 0
  62.         '[a7].Resize(sw, 14).EntireRow.RowHeight = 18
  63.     Next 项目n
  64. Application.ScreenUpdating = True
  65. End Sub
复制代码


emobile_2022-01-02_20-53-59.jpg

脱敏.7z

179.33 KB, 下载次数: 113

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-1-3 20:03 | 显示全部楼层
好的分享,希望对大家有帮助,而不是垃圾一样堆放在某个角落.

TA的精华主题

TA的得分主题

发表于 2022-1-4 08:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢分享!

TA的精华主题

TA的得分主题

发表于 2022-1-4 10:39 | 显示全部楼层
谢谢楼主分享,正是我需要的

TA的精华主题

TA的得分主题

发表于 2024-5-17 09:30 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你好,你设计的这个表真好。只是第54行运行错误,代码1004,此名称已被使用,怎么处理,能帮忙测试一下吗?谢谢

TA的精华主题

TA的得分主题

发表于 2024-5-17 09:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
加个代码:运行时删除原来生成的表。

TA的精华主题

TA的得分主题

发表于 2024-5-17 10:07 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jjmysjg 发表于 2024-5-17 09:47
加个代码:运行时删除原来生成的表。

VBA小白,麻烦写一下

TA的精华主题

TA的得分主题

发表于 2024-5-17 10:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-5-17 11:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 jjmysjg 于 2024-5-18 12:53 编辑
kreal 发表于 2024-5-17 10:07
VBA小白,麻烦写一下


Sub 批量删除t()

TA的精华主题

TA的得分主题

发表于 2024-5-18 12:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢分享,欣赏了。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 13:45 , Processed in 0.034749 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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