VBA Aplication函数之 Vlookup的运用

By Mejias

前言:

因为自己最近接手了很多公司的数据分析的工作,其中由许多的重复性的操作,自己都想要通过编写VBA代码简化工作。之前陆续编写过一些Python代码和SQL代码,后续将和大家分享。今天自己做了一个在工作中VBA自动运用excel 的Aplication函数的程序。介绍如下。

 

 

业务需求:

图中红色圈选为产品单号,需要根据这个分别匹配另一张表的信息到紫色框的六列,另一张表对应的信息如下面所示。

 

我们首先会想到的是使用Vlookup函数,这也非常方便。但是因为这个还有另外六张表针对不同的源地由同样的操作,实用Vlookup手动操作便显得非常繁琐。

解决方法:

由于这些操作是在Excel里进行的,编写Python程序用pandas自然可以很简单的实现,但是杀鸡何必用宰牛刀呢:)。于是笔者直接简单的使用VBA自动化。自己手写VBA当然可以,但是还是要费一些脑细胞的,于是笔者的思路是自己手动做一遍整个流程,使用宏录制的方法,让VBA自己取编写代码,最后再手动完善。

首先,我们把要匹配的图都放在一个文本簿里。对两张表格命名好。

然后,打开开发工具,点击录制宏。

 

接着,输入自定义的宏名。点击确定。

当宏组的第一个控件显示为“停止录制时”,宏就已经开始录制了。然后我们可以自己手动操作一遍,让宏自动东记录工作流程。

 

对所需要的六列分别进行Vlookup。双击单元格左下角,自动匹配所有行。

完成工作的操作后点击“停止录制”按钮。宏旧录制好了。

 

接下来我们需要手动检查和完善以下代码。

选择Visual Basic编辑器,左键单击进入代码页面。

 

如下图,代码的注释里会有刚才我们起的自定义的宏名

 

观察代码,会发现代码有一个地方不足,那就是这里自动下拉到的是当前工作需要的行数,当后续工作行数增多或减少时,会出现程序未i东下来拉到底,或者程序下拉过度出现很多的N/A。

 

于是这里我们手动改一下。

首先,命名一个integer变量 a。

 

然后通过Inputbox让程序再运行时让我们输入需要运行到的行数。

 

最后将原来代码里的I602的行数字全部替代成字符连接符号“&”加上变量a的形式。&a

 

代码到这里就完成了。

为了方便我们还可以插入文本框指定到这个宏,这样运行宏的时候就只需要双击表格里的文本框即可。

 

今天对工作流程里,Vlookup程序的自动匹配就分享到这里了。欢饮有兴趣的朋友留言和交流:)。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值