分享

产量统计表,Excel vba

 龙卿澜 2020-07-30

前言

企业生产最终以产量为结果导向,没有产量,销售就是无米之炊那个婆。

产量统计要十分仔细认真,因为关乎收入。

不能做糊涂账目,不能说不知道生产了多少,卖了多少?

有必要做一个产量统计来保证,生产过程管理有一个明确的方向。

以前做过一个产量统计方法,不是很专业,为了对产量有一个清楚了解,大概做了一下统计,效果还可以。

最近又拿出来,结合生产实际情况,又改了一下,整理出来。供需要的人来参考学习。

图例:

产量统计表,Excel vba

介绍

管理首页,分四个模块:产量记录、产量查询、目标完成和产量趋势图

首先从产量记录输入数据,然后就可依条件查询了,目标完成里有一些数据总结,实际上也是一个查询功能,相对来说更加精确一点。

产品趋势做了一下折线趋势图,可能直观地看到产量变化情况。

基本介绍就是这些,接下来,对各功能块进行浏览。

产量统计表,Excel vba

首页做整体引导作用,没有特别的代码,就是相当于超链接一样。

其代码如下:

Private Sub CommandButton1_Click()

UserForm1.Show '显示UserForm1表单

End Sub

产量统计表,Excel vba

录入

产量录入,是个重要的功能块,里面做了大量代码编辑,共150多行。

其中,大部分显示内容都是自动生成,如果修改相应的值,其代码的可移植性还是很好的。

如下代码是对图表处理的过程,花费了一些时间来学习,大家参考一下吧。

''' 图表刷新过程

Dim t As Worksheet

Set t = ThisWorkbook.Worksheets('图表')

t.Activate

Dim Char As Chart

Set Char = t.Shapes.Item(1).Chart

With Char

.SetSourceData w.Range('B2:D' & iRow - 1)

.ChartTitle.Text = '产量趋势图'

.CategoryLabelLevel = 0 ''设置第一列为 水平分类轴标签

'Char.SeriesNameLevel = xlSeriesNameLevelCustom

Dim ss As Object

Set ss = .SeriesCollection(1)

ss.Name = '产量'

.Refresh

End With

产量统计表,Excel vba

图表

生成后的图表就是这样,当然自己喜欢也可以修改一下颜色什么的。

图表表单代码不多,不过有一个技术点可以作为重点。

就是如何在表单中显示工作表内的图表方法。

这是一个很委婉的方法,首要把图表保存为图片,然后在Form里新建一个图片控件,将图片引入控件。

完整代码如下:

Private Sub UserForm_Initialize()Dim w As WorksheetSet w = ThisWorkbook.Worksheets('图表')With w.Shapes.Item(1).Chart    .Refresh    .Export ThisWorkbook.Path & '\pic\1.jpg''''导出图片End WithDim iObj As ObjectSet iObj = Me.Controls.Add('Forms.Image.1', 'im1')'新建Image控件With iObj    .Height = Me.Height - 40    .Width = Me.Width - 30    .Top = 5    .Left = 10    '   导入图片    .Picture = LoadPicture(ThisWorkbook.Path & '\pic\1.jpg')    .PictureSizeMode = 1    .PictureAlignment = 2End WithEnd Sub

这个知识点,不妨保存一下。​

产量统计表,Excel vba

查询

​查询用了一个ListView控件,这是一个又爱又恨的控件。

因为在某些电脑上,可能不能正常使用。

解决办法无非不过是,重新添加控件,或者升级Excel 版本。

还有什么方法,可以留言。

代码就不贴了,如果是初学vba,可能看着就头痛。

产量统计表,Excel vba

统计

目标完成,感觉做了个没用的东西。

因为在查询里就可以全部看到,不过在这里,可以按日期进行查找。

比如要查看昨天的产量,那么就选择昨天的日期,数据就出来了。

总计,是所有产量的总和。是整体一个表格周期内所有产量的体现。

代码没有技术含量,就是读取数据然后对TextBox赋值。

要说难点,只有一个,就是ComboBox 属性设置。

代码如下:

With Me.ComboBox1    .Style = 0'设置可修改    .Value = VBA.Format(Me.ComboBox1.Value, 'yyyy/mm/dd')   '赋值End With

对ComboBox的值格式进行设置,不然当ComboBox改变的时候,值就变成数值类型,而不是时间类型了。

结尾

好了,今天就写这么多,生产统计制作完成,用到用不到,我也不知道。

至少目前,用不到。

关注江觅

每天学习不同的vba编程技巧

更多Excel vba 编程内容,查看江觅主页文章。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多