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 line End If End 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的世界还是很大的。 |
|
来自: Excel和VBA > 《Excel和VBA知识》