分享

Excel VBA之函数篇-3.4简易的快速数据录入,再也不用砸键盘了。

 Excel和VBA 2021-03-31

Excel VBA之函数篇-3.4简易的快速数据录入,再也不用砸键盘了。

前景提要

日常的工作中,我们经常需要将一些数据录入excel中,比方说员工的姓名,工号,公司名称等等,每天对着电脑输入这些无聊的数据,确实是一件很糟心的事情,虽然说并不是很难,但是很枯燥,有时候眼花了还会打错字,毕竟人不是机器啊,全部是中文的还好点,碰到数字编码等一长串数字的,就更加头疼了,别怕,其实VBA可以帮助我们实现简单的数据录入,只需要实现设置好规则,我们只需要输入几个按钮就可以解决了,这样既节省了时间,也提高了准确性,数据录入更加高效

函数说明

让我们来隆重介绍下今天要学习的这个函数,他就是choose()函数,一写出来大家都知道这个函数的意思了,就是选择,没错,他可以理解为选择的意思,他的基本格式是这样的choose(num,a,b,e,d,c......),第一个num代表的就是数字的意思,你在实际使用中,这里应该输入的是一个具体的数字,后面是你想要输入的内容的列表,按照上面的举例,如果num=1,返回的结果就是a,如果num=2,放回的结果就是b,num=3,返回的结果就是e...以此类推,好了,我们还是来看一个例子吧。

上代码

假设我们手上有一份清单,我们需要录入商品的销量和销售综合,这在商城等场所是经常需要这样操作的

如果实现简单,快速的录入呢

Sub test()Dim num&, ShopName$line:num = Application.InputBox("请输入商品的序号", "输入准确的序号", , , , , , 3)If num <> 0 Then ShopName = Choose(num, "苹果手机", "vivo", "华为", "OPPO X27", "摩托罗拉", "红米 小辣椒XR", "百度音响5-5") LastCol = Cells(Rows.Count, 6).End(xlUp).Row Cells(LastCol + 1, 6) = ShopName GoTo lineEnd IfEnd Sub

效果如图:

首先程序开始会弹出一个输入框,让大家根据第一列的商品清单的商品所在的序号输入对应的序号,假设我们这里要输入华为的销量,华为是第三个数据,我们这里输入3,看看效果。

华为被我们成功的输入到了第一行,再来输入下苹果手机,序号1,看看

已经成功的录入了,而且我们不需要挂商品多么复杂,不管是中英文大小写还是数子混杂,只要我们在代码中一次设置好,后面就都可以按照数字键输入了 。是不是很方便

代码解析

今天的代码增加了之前没有见过的知识点,也许大家并不是很理解,我简单介绍下

num = Application.InputBox("请输入商品的序号", "输入准确的序号", , , , , , 3)

这个大家一定很熟悉了,输入窗体的创建和输入,简单的交互界面,我们得到了输入的结果,将输入的结果返回给变量num,如果没有输入任何数据就选择了确定,那么num就等于0 ,这个时候我们就可以选择跳出程序,如果不等于0,就证明有输入数据,那么我们就可以利用我们今天学习的函数choose()来实现效果

ShopName = Choose(num, "苹果手机", "vivo", "华为", "OPPO X27", "摩托罗拉", "红米 小辣椒XR", "百度音响5-5")

上面这段代码的意思是,我们需要将后面的一长串的字符输出,依据就是前面我们得到的num,num等于几,就输出后面第一个内容,1就是苹果手机,2就是vivo........,简单的几个数字就可以实现快速准确的输入了,数据的准确性和统一性也是非常重要的,在之后进行数据分析的时候,能够节省不少的麻烦。

LastCol = Cells(Rows.Count, 6).End(xlUp).Row

这段代码也是非常经典常用的代码,主要是判断某一列的最后一个非空单元格的,比方案例中,我们要判断F列的最后一个非空单元格,然后得到这个单元格所在的行数,我们要输入的数据就在这个行数的接触上+1.比方说最开始的时候,我们的输入是空的,只有第一行的标题行,那么返回的LastCol就是1,比方说我们的数据变成这样了

F列已经填写了不少数据,那么最后一列非空单元格是在第几行呢?调试下

返回是滴10行,而列的标签也告诉我们,这是第10行。

最后就是单元格输入的录入了,这就非常简单了。

之后的GOTO,其实就是跳转的意思,跳转到哪里呢?line,line又在哪里呢?

在本场中,其实就是构造一个简单的循环,除非用户点下按钮,否则输入框会一直不断的出现。

总结

============================================

今天的分享就到这里了,今天的知识点比较的多,但是大家并不要太执着于记住每一个知识点,因为相关的知识点我们都会在后面慢慢详细的展开,小编还是希望大家能够记住重点,一步步的来,今天我们要记住的知识点就是choose()函数的用法,第一参数是数字num,后面可以跟着N个元素,最终返回的结果就是第num个元素,算是一种简易的快速选择的方法,实际工作中,大家也可以结合自己的场景的需要来灵活使用,学习最终的目的,就是要用。

============================================

本人已经打算长期分享一些网络搜集的各种VBA知识,如果大家有问题也可以提出来共同解决,一起进步,毕竟VBA的世界还是很大的。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多