大家好,linda来为大家解答以下的问题,开户行及账号是什么很多人还不知道,现在让我们一起来看看吧!
原创作者: 卢子 转自:Excel不加班
早期卢子写过一篇文章,是用公式做的,现在学VBA了,就得尝试用VBA来解决函数的问题。
多表查找公司的地址、纳税人识别号和开户行及账号
明细表,格式一模一样,现在要将每个明细表的地址、纳税人识别号和开户行及账号提取到汇总表。
汇总表,根据公司名称查找到相关的信息。
说到查找,很多人的第一反应就是VLOOKUP函数,其实查找家族人才济济。在汇总表的B2输入公式,下拉和右拉。
=INDIRECT($A2u0026"!"u0026ADDRESS(COLUMN(B1),4,4))
上面是公式的解决方法,来看VBA怎么解决的?
思路:
将金石这个表的D2:D4,选择性粘贴,转置到汇总的B2。同理,金土、金沙也是这样处理。
相当于录制一个转置的宏,加一个循环语句就搞定。分表的内容有合并单元格,录制出来会有问题,这里直接用汇总表这个没合并单元格的录制宏。
Step 01 录制一个选择性粘贴,转置的宏。
Step 02 查看刚刚录制的宏代码。
PasteSpecial就是选择性粘贴的意思。
Transpose:=True就是转置的意思。
中间那些可以暂时不用管,删除掉,这样代码看起来就整洁很多。
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" u0026 i).PasteSpecial Transpose:=True
Next
End Sub
运行代码确认效果。
VBA学起来并没有想象中那么难,只要你跟对人。
就像这个读者所说的,跟错人,一开始学习那些乱七八糟的概念,不要说是你,即便是我看着都想睡觉。学VBA要从工作上经常接触到的表格学起,想着如何将表格变得更智能,更容易操作,要从这个观点出发才能学好。
本文到此结束,希望对大家有所帮助。
大家好,小豪今天来为大家解答到不了歌词以下问题,到不了歌词范玮琪很多人还不知道,现在让我们一起来看看吧!1、你眼睛会笑,弯成一条桥
大家好,小丽今天来为大家解答研究生读书报告以下问题,研究生读书报告范文3000字很多人还不知道,现在让我们一起来看看吧!1、一、前言 读书
大家好,小伟今天来为大家解答民族歌曲大全100首流行歌曲以下问题,民族歌曲大全100首流行歌曲下载很多人还不知道,现在让我们一起来看看吧!
大家好,小丽今天来为大家解答贞观小说完结以下问题,贞观长篇小说很多人还不知道,现在让我们一起来看看吧!1、《大唐小郎中 》、《调教初唐
大家好,小豪今天来为大家解答什么言什么什么以下问题,什么言什么什么的四字成语很多人还不知道,现在让我们一起来看看吧!1、一言为定 冷言
大家好,小娟今天来为大家解答请输入接收邮件服务器(pop)以下问题,请输入邮件是什么意思很多人还不知道,现在让我们一起来看看吧!1、填写的
大家好,小豪今天来为大家解答场所的同义词以下问题,场所相近的词语很多人还不知道,现在让我们一起来看看吧!1、场的同义词有:场所 场地
大家好,小伟今天来为大家解答老年合唱团名字大全以下问题,老年合唱团名字创意很多人还不知道,现在让我们一起来看看吧!1、雪绒花歌唱兴趣
Copyright 2024 看看网,让大家及时掌握各行各业第一手资讯新闻!