求excel vba代码把A列筛选后B列可见单元格内容与sheet2内容重复的数量填入到C列

求excelvba代码把A列筛选后B列可见单元格内容与sheet2内容重复的数量填入到C列如图片说明,sheet1A列是筛选状态,求vba代码把B列可见单元格数量与she... 求excel vba代码把A列筛选后B列可见单元格内容与sheet2内容重复的数量填入到C列如图片说明,sheet1 A列是筛选状态,求vba代码把B列可见单元格数量与sheet2数量有一样的填入到对应C列单元格,因原数据有几十万行,这个操作使用非常频繁求用vba解决,谢谢 展开
 我来答
柔软的Bp
科技发烧友

2018-02-25 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:67%
帮助的人:8770万
展开全部

不需要筛选,根据筛选条件,直接用VBA数组,获取到C列

更多追问追答
追问
谢谢您的关注,想要sheet1筛选状态不要变,把Sheet2 A列和sheet1筛选后 B列可见单元格数量一样的填写在sheet1可见单元格对应的C列,谢谢
追答

D1就相当于筛选了,一个意思,是节省了操作步骤。。。

如非要筛选,就添加几句代码,自动获取筛选后,可见单元格的数据,交给变量,让数组识别运行。

你有几十万行数据,只有用VBA数组,最多几秒钟完成。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼木混猪哟
高粉答主

2018-02-25 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33684

向TA提问 私信TA
展开全部
感觉没有必要用VBA
直接用Vlookup函数就可以
C2中输入
=iferror(Vlookup(B2,Sheet2!A:A,1,),"")
往下填充即可
追问
目前就是用的此方法,因数据几十万行,每行都套个公式Excel会很卡很卡,需要反复筛选一些不同数据进行匹配确认,所以希望用VBA会方便一些,谢谢!
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姓王的wy451

2018-02-25 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8742万
展开全部

筛选后运行以下代码,能满足你的要求:

Sub 对比填数据()
Dim I&, Ar, Ra As Range, D As Object
Set D = CreateObject("scripting.dictionary")
Ar = Sheets("sheet2").UsedRange
For I = 2 To UBound(Ar)
   D(Ar(I, 1)) = ""
Next
For Each Ra In Sheets("Sheet1").UsedRange.Columns(2).SpecialCells(12)
   If D.exists(Ra.Value) Then Ra.Offset(, 1) = Ra
Next
End Sub
追问
太感谢了,正是我想要的结果,非常感谢
追答
不用谢,是因为你的截图很清楚表达了问题,截图中能看见行列标,否则我也没法写出代码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式