为什么要学VBA?

当我们没有用过某个工具的时候,我们无法知道是否需要它,VBA就是这样的工具。

在我学习TOC的旅途中,我知道了聚焦对工作的重要性,那我们怎样才能聚焦了?我们怎样可以做到聚焦呢?

比如一个生产性的企业,有成千上万种产品型号,而工厂的生产线产能有限,市场的需求多样化,竞争急烈,在这种情况下我们怎样聚焦呢?

凭直觉,我们要对数据进行管理,很快进入我们眼帘的是大数据,智能制造,这些离我们远吗?感觉很近,但是我却摸不着。

数据对一个企业的重要性,比如说库存管理,战略产品的确定,这一切背后必须有数据做支撑,否则只能是猜,赌,毫无胜算可言。

谈到数据想起我从业20年来我对数据是怎样操作的,如下图


VBA学习.gif

一直处于较低水平的使用数据,在2017年以前做一个装箱单都要花半天的时间,而且头昏眼花
在这样的水平之下谈何智能化管理,聚焦,曾经工作过的一家企业,当年赚了钱还是亏了钱都不知道,什么产品能给公司带来高额利润也不知道,全凭感觉。

今天的主题是为什么要学VBA?

关于VBA在数据处理中的作用,我的理解是用机器来帮助我们处理重复的工作,它比人脑运算得快,而且少出错。
为了说明这一点,举一个工作表合并的例子,如图

VBA学习合并工作表.gif

附所编的程:
Sub test3()
Dim ws As Worksheet, rngs As Range, hb As Range
Columns("a:c").ClearContents
[a1] = "员工ID": [b1] = "姓名": [c1] = "部门"
For Each ws In Worksheets
If ws.Name <> Sheet1.Name And ws.Name <> Sheet7.Name Then
Set rngs = ws.Range("a2", ws.[b2].End(xlDown))
Set hb = Cells(Rows.Count, 1).End(xlUp)(2, 1)
rngs.Copy hb
hb(1, 3).Resize(rngs.Rows.Count, 1) = ws.Name
End If
Next
End Sub

如果用手工做的话,选择、复制、粘贴,再选择再复制,一件看似简单的事,如果要合并的表有10个或20个,就成了体力活。

但是如果用EXCEL中的编程,在第一次编好程之后,就是一键的事。
从这件事中可以得知,如果一直处于第三层或第三层以下,对数据处理的能力是非常低下,在大量的数据面前,要聚焦又是多么的困难。

还有一件事就是以英语为母语的国家,像欧美,编程语言以英语为主体,他们具有多么大的先天优势,而我们唯有加倍努力才能赶上。

推荐阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 4,059评论 1 18
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 14,226评论 6 42
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 2,528评论 0 8
  • VBA订制工具栏 http://club.excelhome.net/thread-1047254-1-1.htm...
    大海一滴写字的地方阅读 844评论 0 0
  • 可以通过在属性窗口设置名称来给对象重新命名,名字可以由字母、汉字(2字符)、数字以及下划线组成,但必须以字母或汉字...
    重头再来0706阅读 298评论 0 0