当前位置:首页 > 财经知识 > 正文

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号

原创作者: 卢子 转自:Excel不加班

早期卢子写过一篇文章,是用公式做的,现在学VBA了,就得尝试用VBA来解决函数的问题。

多表查找公司的地址、纳税人识别号和开户行及账号


明细表,格式一模一样,现在要将每个明细表的地址、纳税人识别号和开户行及账号提取到汇总表。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第1张

汇总表,根据公司名称查找到相关的信息。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第2张

说到查找,很多人的第一反应就是VLOOKUP函数,其实查找家族人才济济。在汇总表的B2输入公式,下拉和右拉。

=INDIRECT($A2&"!"&ADDRESS(COLUMN(B1),4,4))


上面是公式的解决方法,来看VBA怎么解决的?


思路:


将金石这个表的D2:D4,选择性粘贴,转置到汇总的B2。同理,金土、金沙也是这样处理。


相当于录制一个转置的宏,加一个循环语句就搞定。分表的内容有合并单元格,录制出来会有问题,这里直接用汇总表这个没合并单元格的录制宏。


Step 01 录制一个选择性粘贴,转置的宏。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第3张

Step 02 查看刚刚录制的宏代码。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第4张

PasteSpecial就是选择性粘贴的意思。


Transpose:=True就是转置的意思。


中间那些可以暂时不用管,删除掉,这样代码看起来就整洁很多。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第5张

Range("D2:D4").Select

Selection.Copy


这2句的意思就是先选择单元格D2:D4,然后对选择的区域进行复制,可以简化成Range("D2:D4").Copy。


同理,对下面那2句也进行简化Range("B7").PasteSpecial Transpose:=True。


最后,嵌套循环语句,还有添加工作表名称,代码就完成了。

Sub 汇总()

Dim i As Integer

For i = 2 To Sheets.Count

Sheets(i).Range("D2:D4").Copy

Sheets(1).Range("B" & i).PasteSpecial Transpose:=True

Next

End Sub


运行代码确认效果。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第6张

VBA学起来并没有想象中那么难,只要你跟对人。


就像这个读者所说的,跟错人,一开始学习那些乱七八糟的概念,不要说是你,即便是我看着都想睡觉。学VBA要从工作上经常接触到的表格学起,想着如何将表格变得更智能,更容易操作,要从这个观点出发才能学好。

(开户行地址)EXCEL多表汇总每个公司的地址、纳税人识别号和开户行及账号  第7张




其他人还搜:
开户行地址怎么查
开户行地址是什么
开户行地址填写示范
开户行地址错了能到账吗
开户行地址是银行地址吗
开户行地址在手机银行哪里查询
开户行地址查询系统官网
开户行地址是开户网点吗
开户行地址怎么填例子
开户行地址在app上怎么查

0
取消
扫码支持 支付码