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

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

'''''汇总统计的计算
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 SingleMsgBox "汇总计算时间较久,请耐心待"
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).ValueSheets("系数").Visible = xlSheetVeryHiddenSheets("机加任务及工时").Selectrowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).Row
ActiveSheet.Range("N1") = "JE"
'计算加工费用,第1行有标题,从第2行开始
For i = 2 To rowscountFor j = 1 To UBound(brr)If ActiveSheet.Range("K" & i) = brr(j, 1) ThenActiveSheet.Range("N" & i) = ActiveSheet.Range("M" & i) * brr(j, 2)End IfNext
NextReDim arr_s(1 To rowscount, 1 To 2)
For i = 2 To rowscountarr_s(i, 1) = ActiveSheet.Range("A" & i).Valuearr_s(i, 2) = ActiveSheet.Range("N" & i).Value
NextDim 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).RowReDim crr(1 To rowscount, 1 To 2)
For i = 2 To rowscount '第一行有标题,从第二行开始crr(i, 1) = ActiveSheet.Cells(i, 1).Valuecrr(i, 2) = ActiveSheet.Cells(i, 3).Value
Next'外协费用
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sheets("材料&外协金额表").Select
rowscount = ActiveSheet.Cells(Rows.count, 1).End(xlUp).RowReDim drr(1 To rowscount, 1 To 2)
For i = 2 To rowscount '第一行有标题,从第二行开始drr(i, 1) = ActiveSheet.Cells(i, 1).Valuedrr(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).RowFor i = 2 To rowscountFor j = 0 To d.count - 1 '字典KEY从0开始If ActiveSheet.Cells(i, 1) = d.keys()(j) ThenActiveSheet.Cells(i, 11) = d.items()(j)End IfNext 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)
NextFor i = 1 To d2.countActiveSheet.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)
NextFor i = 1 To d3.countActiveSheet.Cells(i, 16) = d3(drr(i, 1))
NextActiveSheet.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 = TrueSheets("目录").Select
End Sub

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

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

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

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

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

相关文章

【HTML入门】第二课 - head标签下的常见标签们

目录 1 本节概要 2 head下的常见标签 2.1 网页编码设置 2.2 网页的标题 2.3 样式标签 3 head标签的内容不会显示到网页上 4 查看网页源代码 1 本节概要 上一节,我们说了HTML网页最基本的框架标签,说到标签分为head头部和body身体部分。这一小节呢…

Windows Server 2016 搭建 网络负载平衡 服务

网络负载平衡功能的安装 添加角色 默认不动————功能 勾选上 < 网络负载平衡 > 在工具中————打开 < 网络负载平衡管理器 > 网络负载平衡群集创建 注意 : 提前 将两台 web 站点服务器 都安装好 < 网络负载平衡功能 > 右键 选择 ————新建群集 ——…

【学习笔记】爱立信SPO 1400 CRAFT软件基础知识6——配置的备份与恢复的详细方法

一、前期准备 提示&#xff1a;下面所有学习内容都是基于以下条件完成的 条件1.已经正确安装并正常运行SPO 1400 CRAFT软件&#xff08;以下简称LCT&#xff09; 条件2.确认已正确使用爱立信SPO 1400 CRAFT软件通过网络登录设备&#xff08;以下简称NE&#xff09; 具体登录…

【图解大数据技术】Flume、Kafka、Sqoop

【图解大数据技术】Flume、Kafka、Sqoop FlumeFlume简介Flume的应用场景 KafkaKafka简介Kafka架构Flume与Kafka集成 SqoopSqoop简介Sqoop原理sqoop搭配任务调度器实现定时数据同步 Flume Flume简介 Flume是一个数据采集工具&#xff0c;多用于大数据技术架构下的日志采集。 …

SQL-DCL(三)

一.DCL介绍 DCL英文全称是Data Control Language(数据库控制语言),用来管理数据库 用户,控制数据库的访问权限。 二.两个方面 1.数据库可以由那些用户访问 2.可以访问那些内容 三.DCL-管理用户 1.查询用户 USE mysql SELECT * FROM user 2.创建用户 CREATE USER…

基于Qwen2/Lllama3等大模型,部署团队私有化RAG知识库系统的详细教程(Docker+AnythingLLM)

自 ChatGPT 发布以来&#xff0c;大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff0c;大模型&#xff09;得到了飞速发展&#xff0c;它在处理复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹&#xff0c;几乎各行各业均可从中获益。 然…

利用级数公式计算圆周率(π)

π是是指圆的周长与直径的比值&#xff0c;是无限不循环小数&#xff0c;有很多种方法可以求得它的近似值。这里用比较容易实现的关于π的无穷级数来求它的前10000位的取值。 π / 2 π 具体的&#xff0c;用两个字符数组x,z分别存放当前计算得到的pi值&#xff0c;数组…

有趣的算法

目录&#xff1a; 1、百钱买百鸡 2、韩信点兵 1&#xff09;概述 2&#xff09;正常取余算法 3&#xff09;循环算法 1、百钱买百鸡 我国古代《算经》中的“百钱买百鸡”问题&#xff1a; 鸡翁一&#xff0c;值钱五&#xff1b;鸡母一&#xff0c;值钱三&#xff1b;鸡…

并口、串口和GPIO口区别

并口 并行接口,简称并口。并口采用的是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,目前,并行接口主要作为打印机端口等。 并口的工作模式 …

景色短视频:成都柏煜文化传媒有限公司

景色短视频&#xff1a;定格自然之美&#xff0c;邂逅心灵之旅 在这个被数字洪流包围的时代&#xff0c;短视频以其独特的魅力&#xff0c;为我们打开了一扇通往无限可能的大门。而在众多短视频类型中&#xff0c;景色短视频以其无与伦比的视觉冲击力&#xff0c;成为了许多人…

优化路由,优化请求url

1、使用父子关系调整下使其更加整洁 2、比如说我修改了下url,那所有的页面都要更改 优化&#xff1a;把这个url抽出来&#xff0c;新建一个Api文件夹用于存放所有接口的url&#xff0c;在业务里只需要关注业务就可以 使用时 导包 发请求 如果想要更改路径&#xff0c;在这里…

Java+Vue实现电商网站

&#x1f31f; 探索我们的全新电商平台&#xff01;使用Java和Vue打造&#xff0c;我们为您带来无与伦比的购物体验。&#x1f6d2;✨ ✨ 功能一览&#xff1a; 首页&#xff1a;精美设计&#xff0c;直观易用&#xff0c;让您轻松发现最新产品和促销活动。 我的订单&#xf…

k8s record 20240703

1. containerd 它不用于直接和开发人员互动&#xff0c;在这方面不和docker竞争 containerd的用时最短&#xff0c;性能最好。 containerd 是容器的生命周期管理&#xff0c;容器的网络管理等等&#xff0c;真正让容器运行需要runC containerd 是一个独立的容器运行时&am…

2024年7月6日 (周六) 叶子游戏新闻

自动电脑内部录音器AutoAudioRecorder: 是一款免费的自动音频录制软件&#xff0c;可直接将电脑内部所有的声音录制成 mp3/wav 文件&#xff0c;包括音乐、游戏直播、网络会议、聊天通话等音频源。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《不羁联盟》制作人&…

Java求解百钱买百鸡问题(课堂实例2)

目录 &#x1f495;&#x1f495;引言&#x1f495;&#x1f495; &#x1f60d;&#x1f60d;点关注编程梦想家&#xff08;大学生版&#xff09;-CSDN博客不迷路&#x1f495;&#x1f495; 一、问题背景----百鸡百钱_百度百科 (baidu.com) &#x1d465;&#x1d466;&a…

【文献解析】一种像素级的激光雷达相机配准方法

大家好呀&#xff0c;我是一个SLAM方向的在读博士&#xff0c;深知SLAM学习过程一路走来的坎坷&#xff0c;也十分感谢各位大佬的优质文章和源码。随着知识的越来越多&#xff0c;越来越细&#xff0c;我准备整理一个自己的激光SLAM学习笔记专栏&#xff0c;从0带大家快速上手激…

3-3 超参数

3-3 超参数 什么是超参数 超参数也是一种参数&#xff0c;它具有参数的特性&#xff0c;比如未知&#xff0c;也就是它不是一个已知常量。是一种手工可配置的设置&#xff0c;需要为它根据已有或现有的经验&#xff0c;指定“正确”的值&#xff0c;也就是人为为它设定一个值&…

Spring源码十四:Spring生命周期

上一篇我们在Spring源码十三&#xff1a;非懒加载单例Bean中看到了Spring会在refresh方法中去调用我们的finishBeanFactoryInitialization方法去实例化&#xff0c;所有非懒加载器单例的bean。并实例化后的实例放到单例缓存中。到此我们refresh方法已经接近尾声。 Spring的生命…

Android Camera2 集成人脸识别算法

这可能是全网唯一一篇介绍Android Camera2接口集成人脸算法的文章了~ 写在前面&#xff1a; 说起人脸识别&#xff0c;相信大家都不会感到陌生&#xff0c;在我们平时的工作生活中&#xff0c;人脸打卡、刷脸支付等等已经是应用的非常广泛了&#xff0c;人脸识别也给我们的生活…

数据可视化之智慧农业的窗口与引擎

在科技日新月异的今天,农业作为国民经济的基础产业,正逐步向智能化、数字化转型。农业为主题的数据可视化大屏看板,作为这一转型过程中的重要工具,不仅为农业管理者提供了全面、实时的农田信息,还促进了农业资源的优化配置和农业生产效率的提升。本文将深入探讨农业数据可…