VBA初学:零件成本统计之四(汇总计算)

news2024/11/17 10:30:37

第四步,最后进行汇总计算

'''''汇总统计的计算
Sub count()
Dim rng As Range
Dim i As Long, j As Long
Dim arr_s, arr, brr, crr, drr
Dim rowscount As Long
Dim X As Variant
Dim rg As Single, xb As Single, zj As Single


MsgBox "汇总计算时间较久,请耐心待"
Application.ScreenUpdating = False  '关闭屏幕更新,加快程序运行
Application.DisplayAlerts = False   '不显示警告信息



''计算工序费用,因为有重复,先计算,再汇总

''先获取工序的单价系数
Sheets("系数").Visible = xlSheetVisible
Sheets("系数").Select
rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row

'工时记录,1工序号2系数
ReDim brr(1 To rowscount, 1 To 2)
For i = 2 To rowscount '第一行有标题,从第二行开始
  brr(i, 1) = ActiveSheet.Cells(i, 1).Value '代码
  brr(i, 2) = ActiveSheet.Cells(i, 3).Value '系数
Next
rg = ActiveSheet.Cells(1, 6).Value
xb = ActiveSheet.Cells(2, 6).Value
zj = ActiveSheet.Cells(3, 6).Value

Sheets("系数").Visible = xlSheetVeryHidden

Sheets("机加任务及工时").Select

rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row
ActiveSheet.Range("N1") = "JE"
'计算加工费用,第1行有标题,从第2行开始
For i = 2 To rowscount
  For j = 1 To UBound(brr)
  If ActiveSheet.Range("K" & i) = brr(j, 1) Then
     ActiveSheet.Range("N" & i) = ActiveSheet.Range("M" & i) * brr(j, 2)
  End If
  Next
Next



ReDim arr_s(1 To rowscount, 1 To 2)
For i = 2 To rowscount
  arr_s(i, 1) = ActiveSheet.Range("A" & i).Value
  arr_s(i, 2) = ActiveSheet.Range("N" & i).Value
Next



Dim d As Object  '定义字典变量
Set d = CreateObject("Scripting.Dictionary")   '申明1个字典变量
For i = 1 To UBound(arr_s)
    d(arr_s(i, 1)) = d(arr_s(i, 1)) + arr_s(i, 2)  '利用字典key不能重复的特点,把key相同的je相加,作为该key的item
Next
'''''''''''''''验证
'   Range("P2").Resize(d.count, 1) = WorksheetFunction.Transpose(d.keys)
'   Range("Q2").Resize(d.count, 1) = WorksheetFunction.Transpose(d.items)
'''''''''''''''



'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'材料费
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sheets("材料&外协金额表").Select
rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row

ReDim crr(1 To rowscount, 1 To 2)
For i = 2 To rowscount '第一行有标题,从第二行开始
  crr(i, 1) = ActiveSheet.Cells(i, 1).Value
  crr(i, 2) = ActiveSheet.Cells(i, 3).Value
Next

'外协费用
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sheets("材料&外协金额表").Select
rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row

ReDim drr(1 To rowscount, 1 To 2)
For i = 2 To rowscount '第一行有标题,从第二行开始
  drr(i, 1) = ActiveSheet.Cells(i, 1).Value
  drr(i, 2) = ActiveSheet.Cells(i, 4).Value
Next






'加工费汇总
Sheets("汇总统计").Select
Set d1 = CreateObject("Scripting.dictionary")
Set d2 = CreateObject("Scripting.dictionary")
Set d3 = CreateObject("Scripting.dictionary")
Set d4 = CreateObject("Scripting.dictionary")
Set d5 = CreateObject("Scripting.dictionary")
Set d6 = CreateObject("Scripting.dictionary")
rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row


For i = 2 To rowscount
  For j = 0 To d.count - 1 '字典KEY从0开始
  If ActiveSheet.Cells(i, 1) = d.keys()(j) Then
     ActiveSheet.Cells(i, 11) = d.items()(j)
  End If
  Next j
ActiveSheet.Cells(i, 12) = Round(ActiveSheet.Cells(i, 11) * rg, 2)
ActiveSheet.Cells(i, 13) = Round(ActiveSheet.Cells(i, 11) * xb, 2)
ActiveSheet.Cells(i, 14) = Round(ActiveSheet.Cells(i, 11) * zj, 2)

  
Next i

 



'材料费
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

For i = 1 To UBound(crr)
 d2(crr(i, 1)) = d2(crr(i, 1)) + crr(i, 2)
Next

For i = 1 To d2.count
     ActiveSheet.Cells(i, 15) = d2(crr(i, 1))
Next



'外协费用
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

For i = 1 To UBound(drr)
 d3(drr(i, 1)) = d3(drr(i, 1)) + drr(i, 2)
Next

For i = 1 To d3.count
     ActiveSheet.Cells(i, 16) = d3(drr(i, 1))
Next


ActiveSheet.Cells(1, 11) = "工序加工费"
ActiveSheet.Cells(1, 12) = "人工加工费"
ActiveSheet.Cells(1, 13) = "设备折旧费"
ActiveSheet.Cells(1, 14) = "厂房折旧费"
ActiveSheet.Cells(1, 15) = "材料费用"
ActiveSheet.Cells(1, 16) = "外协费用"

moformat.format
Application.ScreenUpdating = True
Application.DisplayAlerts = True

 Sheets("目录").Select
End Sub

结果如下
在这里插入图片描述

另外,还有一个系数表
在这里插入图片描述

最后想说,其实还是有点遗憾的,一是个人水平有限,二是小公司嘛,对于信息化的投入还是欠缺的,不然按其实可以一键汇总统计出来的,特别是分摊,由于无法批量获取零件的重量,所以无法将一些成本费用进行分摊,这个要由财务通过另外的标准和方法进行操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900672.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战某大型连锁企业域渗透

点击星标,即时接收最新推文 本文选自《内网安全攻防:红队之路》 扫描二维码五折购书 实战域渗透测试流程 对黑客来说,拿下域控制器是终极目标。然而攻击者空间是如何通过采取信息收集、权限提升、横向移动等一系列手段,从而一步步…

白嫖A100活动-入门篇-1.Linux+InterStudio

进入InterStudio 这节课是为了让大家熟悉使用InterStudio平台,以便后续开发 InterStudio平台是算力平台,可以通过平台使用A100,还可以使用“书生”团队集成好的环境、工具,快速部署LLMs. 进入平台: 记得报名,获得免…

vue2响应式原理+模拟实现v-model

效果 简述原理 配置对象传入vue实例 模板解析,遍历出所有文本节点,利用正则替换插值表达式为真实数据 data数据代理给vue实例,以后通过this.xxx访问 给每个dom节点增加观察者实例,由观察者群组管理,内部每一个键值…

集成学习(一)Bagging

前边学习了:十大集成学习模型(简单版)-CSDN博客 Bagging又称为“装袋法”,它是所有集成学习方法当中最为著名、最为简单、也最为有效的操作之一。 在Bagging集成当中,我们并行建立多个弱评估器(通常是决策…

52-3 权限维持 - IFEO注入(镜像劫持)

IFEO注入(映像劫持)介绍 IFEO(Image File Execution Options)位于Windows注册表中的路径为: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options IFEO最初设计用于为在默认系统环境下可能出现错误的程序提供特殊的调试和执…

JavaWeb开发之环境准备-大合集

本文博客地址 JavaWeb开发 || 环境准备 1. 前言2. JDK8安装2.1 下载地址2.2 安装配置图示2.2.1 JDK安装2.2.2 配置系统环境变量 3. Maven安装3.1 Maven下载3.2 Maven解压及系统变量配置 4. Tomcat安装4.1 Tomcat下载4.2 Tomcat解压及系统变量配置 5. Redis安装5.1 Redis下载5.…

【postgresql】 基础知识学习

PostgreSQL是一个高度可扩展的开源对象关系型数据库管理系统(ORDBMS),它以其强大的功能、灵活性和可靠性而闻名。 官网地址:https://www.postgresql.org/ 中文社区:文档目录/Document Index: 世界上功能最强大的开源…

顶顶通呼叫中心中间件-外呼通道变量同步到坐席通道变量(mod_cti基于Freeswitch)

机器人伴随转人工或者排队转人工 把外呼通道同步到坐席通道变量 在拨号方案转人工动作cti_acd,或者转机器人动作cti_rotobt的前面,添加一个 export nolocal:变量名${变量名} 一、配置拨号方案 win-ccadmin配置方法 点击拨号方案 -> 点击进入排队 -> 根据图…

liunx文件系统,日志分析

文章目录 1.inode与block1.1 inode与block概述1.2 inode的内容1.3 文件存储1.4 inode的大小1.5 inode的特殊作用 2.硬链接与软链接2.1链接文件分类 3.恢复误删除的文件3.1 案例:恢复EXT类型的文件3.2 案例:恢复XFS类型的文件3.2.1 xfsdump使用限制 4.分析日志文件4.1日志文件4.…

Ant Design Pro修改菜单栏的颜色

一:修改菜单栏的配色 第一步: 修改defaultSetting--> ProLayoutProps 中的属性值 sider: {colorMenuBackground: #fff, // menu 的背景颜色colorBgMenuItemHover: #91d5ff, // menuItem 的 hover 背景颜色colorTextMenu: #607AAF, // menuItem 的字…

智能与伦理:Kimi与学术道德的和谐共舞

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 Kimi,由月之暗面科技有限公司开发的智能助手,擅长中英文对话,能处理多种文档和网页内容。在论文写作中,Kimi可提供资料查询、信息整理、语…

2024年【金属非金属矿山(地下矿山)安全管理人员】考试报名及金属非金属矿山(地下矿山)安全管理人员模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年金属非金属矿山(地下矿山)安全管理人员考试报名为正在备考金属非金属矿山(地下矿山)安全管理人员操作证的学员准备的理论考试专题,每个月更新的金属非…

KVM虚机调整磁盘大小(注:需重启虚拟机)

1、将磁盘大小由15G调整为25G [rootkvm ~]# virsh domblklist kvm-client #显示虚拟机硬盘列表 [rootkvm ~]# qemu-img resize /var/lib/libvirt/images/tesk-disk.qcow2 10G #扩容 [rootkvm ~]# qemu-img info /var/lib/libvirt/images/test-disk.qcow2 #查看信息 注&…

【论文通读】A Survey of Neural Code Intelligence: Paradigms, Advances and Beyond

A Survey of Neural Code Intelligence: Paradigms, Advances and Beyond 前言摘要代码模型的发展神经语言建模代码预训练模型大型语言模型 学习范式的转移数据集与评测基准跨领域协同应用与未来资源阅读总结 前言 神经代码智能利用深度学习理解、生成和优化代码,连…

3D地图是智慧城市可视化项目绕不开的技术!来我帮你解决

**3D地图:智慧城市可视化项目绕不开的技术!来我帮你解决** 智慧城市已成为未来城市发展的必然趋势。而3D地图作为智慧城市可视化项目的核心技术之一,其重要性不言而喻。本文将深入探讨3D地图在智慧城市建设中的应用及其优势,为您…

待研究课题记录

最近了解到两个新的有趣的节点,但是对于实际效果不是很确定,所以这里记录下,后续慢慢研究: 扰动注意力引导 Perturbed Attention Guidance GitHub - KU-CVLAB/Perturbed-Attention-Guidance: Official implementation of "…

Python 游戏服务器架构优化

优化 Python 游戏服务器的架构涉及多个方面,包括性能、可伸缩性、并发处理和网络通信。下面是一些优化建议: 1、问题背景 在设计 Python 游戏服务器时,如何实现服务器的横向扩展,以利用多核处理器的资源,并确保服务器…

商品分页,商品模糊查询

一、商品分页 引入分页 定义分页主件的参数 在请求url上拼接参数 定义改变当前页码后触发的事件,把当前页码的值给到分页表单,重新查询 二、商品查询(以商品的名称查询name为例) 引入elementplus的from表单组件 定义一个FormData…

DDR的拓扑与仿真

T型拓扑 vs Fly-by 由于T型拓扑在地址、命令和时钟都是同时到达每个DDR芯片,所以同步的切换噪声会叠加在一起,DDR越多这个信号上叠加的噪声越大,T型拓扑的优点是地址、命令和时钟都是同时到达,所以不需要做写均衡Write leveling。…

Java面试八股之MYISAM和INNODB有哪些不同

MYISAM和INNODB有哪些不同 MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎,它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点: 事务支持: MyISAM 不支持事务,没有回滚或崩溃恢复的能力。 InnoDB…