Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2659|回复: 5

请问该如何在一页面中输入关键词,使VBA在另一页面将相同关键词数据整行复制

[复制链接]
发表于 2020-7-3 09:36 | 显示全部楼层 |阅读模式
各位大大好,小妹是VBA新手,目前还只能大概看懂VBA并稍微修改功能
但现阶段爬文都没找到相关功能,只好上来求助各位大大
顺便学习相关方法
目前需要在一个《关键词》页面输入需要的关键词
然后从《清单》页面抓取与关键词条目相同之数据,并按顺序整行复制到《主要关键词》

STEP1

STEP2

STEP3

拜托各位大大帮忙了QQ

[url=]问题.zip[/url]

清单

清单

关键词

关键词

主要关键词

主要关键词

问题.zip

50.11 KB, 下载次数: 3

案例档案

发表于 2020-7-3 15:05 | 显示全部楼层
结构上就是双循环走一遍就行了,比较简单;文件最后添加了一个表,在这个添加的表中执行,你原来的表也保留着;
第一行需要选择筛选的类型,如果不选,代码不会往下执行会自动退出;
结果好像与你的模板有点出入,我也不知道哪里错了,你自己核对下,如果发现有问题,你具体指出来,我再修改;

问题.rar

71.88 KB, 下载次数: 19

评分

参与人数 1学分 +3 收起 理由
haven2010 + 3 学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-7-6 14:58 | 显示全部楼层
非常感谢大大帮助,因为看起来是同时比对
所以并非按照关键词的顺序,而是按照清单顺序
并且同样出现过的数据也被当作同一格,所以可能每一个关键词都需要重复循环走一遍才能達成

不过已经非常感谢大大了QQ
回复

使用道具 举报

 楼主| 发表于 2020-7-6 15:04 | 显示全部楼层
看起来是因为参照顺序是以列表顺序,并非以关键词顺序比对
如此看来可能比对时要按照关键词的顺序,每一格都重新循环走一遍
目前看到的原因是以同时比对,并以清单第一个出现的先贴上,才会有这样的差异
不过还是感谢大大帮助,非常感谢您!!!QQ
回复

使用道具 举报

 楼主| 发表于 2020-7-6 15:29 | 显示全部楼层
hfwufanhf2006 发表于 2020-7-3 15:05
结构上就是双循环走一遍就行了,比较简单;文件最后添加了一个表,在这个添加的表中执行,你原来的表也保留 ...

按结果来看,应该是因为同时比对,所以筛选的内容变成列表顺序,并且重复的关键词也都没有按顺序重复贴上
但因为目标是按照关键词顺序来贴上,所以可能要改成按关键词一项一项筛选复制,比较麻烦
不过已经很感谢大大了QQ

回复

使用道具 举报

 楼主| 发表于 2020-7-7 17:16 | 显示全部楼层
本帖最后由 haven2010 于 2020-7-7 17:17 编辑

Dim arr
arr = Worksheets("关键词").Range("a2:b" & Worksheets("关键词").[a10000].End(3).Row)
For i = 2 To Worksheets("清单").[a65000].End(3).Row
    bz = False
    If s = "主要关键词" Then
       s1 = Worksheets("清单").Cells(i, 1)
       For k = 1 To UBound(arr)
           If arr(k, 1) = s1 Then
              bz = True
              Exit For
           End If
       Next k
    Else

应该是这一部分,因为是抓A列最后一格的最底列数导致换成次要关键词的时候,抓不到最后一个关键词
(次要关键词和主要关键词不一定一样长)
然后底下筛选的时候,可能需要一格一格筛选…

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 18:53 , Processed in 0.449230 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表