|
按照项目编号自动生成每个项目单独的研发明细账.
适配新政策,2021版研发台账明细表可以按照基础数据自动生成.
希望朋友们喜欢.
代码如下,未使用类模块.
- Sub 研发辅助明细账()
- Application.ScreenUpdating = False
- Set wbk = ActiveWorkbook
- Set sht = wbk.Sheets("数据源")
- Set nht = wbk.Sheets("研发支出辅助账")
- Set 项目 = CreateObject("Scripting.Dictionary")
- Dim 子研发明细(1 To 65536, 1 To 30)
- arr = sht.[a1].CurrentRegion
- For y = 1 To UBound(arr, 2)
- If InStr(arr(1, y), "项目编号") Then 项目号no = y
- If InStr(arr(1, y), "项目名称") Then 项目名no = y
- If arr(1, y) = "日期" Then 日期no = y
- If InStr(arr(1, y), "凭证号") Then 凭证号no = y
- If InStr(arr(1, y), "摘要") Then 摘要no = y
- If InStr(arr(1, y), "借方") Then 金额no = y
- If InStr(arr(1, y), "归类") Then 归类no = y
- Next y
- For x = 2 To UBound(arr)
- If 项目.exists(arr(x, 项目号no)) = False Then
- so = so + 1
- 项目(arr(x, 项目号no)) = arr(x, 项目名no)
- End If
- Next x
- For Each 项目n In 项目.keys
- Debug.Print 项目n
- For x = 2 To UBound(arr)
- If arr(x, 项目号no) = 项目n And arr(x, 金额no) <> 0 Then
- sw = sw + 1
- 子研发明细(sw, 1) = arr(x, 日期no)
- 子研发明细(sw, 2) = "记"
- 子研发明细(sw, 3) = arr(x, 凭证号no)
- 子研发明细(sw, 4) = arr(x, 摘要no)
- 子研发明细(sw, 5) = arr(x, 金额no)
- 子研发明细(sw, 6) = 子研发明细(sw, 5)
- Select Case arr(x, 归类no)
- Case "人员人工费用"
- 子研发明细(sw, 7) = arr(x, 金额no)
- Case "直接投入费用"
- 子研发明细(sw, 8) = arr(x, 金额no)
- Case "折旧费用"
- 子研发明细(sw, 9) = arr(x, 金额no)
- Case "无形资产摊销"
- 子研发明细(sw, 10) = arr(x, 金额no)
- Case "新产品 设计费等"
- 子研发明细(sw, 11) = arr(x, 金额no)
- Case "其他相关费用合计"
- 子研发明细(sw, 12) = arr(x, 金额no)
- Case "委托境外机构进行研发活动所发生的费用"
- 子研发明细(sw, 14) = arr(x, 金额no)
- End Select
- End If
- Next x
- nht.Copy after:=Sheets(Sheets.Count)
- ActiveSheet.Name = 项目n
- ActiveSheet.[a3] = "项目编号:" & 项目n
- ActiveSheet.[f3] = "项目名称:" & 项目(项目n)
- If sw > 7 Then [a8].Resize(sw - 6, 1).EntireRow.Insert
- If sw > 0 Then [a7].Resize(sw, 14) = 子研发明细
-
- Erase 子研发明细
- sw = 0
- '[a7].Resize(sw, 14).EntireRow.RowHeight = 18
- Next 项目n
- Application.ScreenUpdating = True
- End Sub
复制代码
|
-
-
-
脱敏.7z
179.33 KB, 下载次数: 113
评分
-
1
查看全部评分
-
|