ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: yy10

[求助]如何使用剪贴板的内容进行查找(寻找最有效率的查找)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-3 12:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

    再次由衷谢谢sylun,竟然弄懂了我的需求,实现了29楼中我说的第三条,同时考虑了第二条:更懒一点的查找,不弹出查找对话框,直接从到当前选定内容进行查找并选中。这样后面两点要求都实现了,太佩服了。

    关于跨文档的即选即查问题希望得到更多说明。

    另外再想请教一下我在1楼所说的使用剪贴板进行查找和一次将使用ctrl键选择的多个不连续文字块复制成多个项目(而不是一个)这两个问题,不知有没有解。

    关于查找我还有一些问题,想先把这几个解决了再请教。

TA的精华主题

TA的得分主题

发表于 2008-4-3 14:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
对于选择多个不连续区域的问题,不知用这些项目作什么用途。先看看这样是否可以区分出项目。

Sub test()
Dim i As Integer, n As Integer, mytext As String, myData As DataObject, a As String
If Selection.Type <> wdSelectionNormal Then Exit Sub
Selection.Copy
Set myData = New DataObject
myData.GetFromClipboard
mytext = myData.GetText(1)
n = UBound(Split(mytext, Chr(13) & Chr(10)))
For i = 0 To n - 1
    a = a & "第" & i + 1 & "个:" & Split(mytext, Chr(13) & Chr(10))(i) & vbCrLf
Next
MsgBox VBA.IIf(n, "共选中了" & UBound(Split(mytext, Chr(13) & Chr(10))) _
    & "个不连续的区域。分别为:" & vbCrLf & a, "没有选中不连续的区域")
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-3 14:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

      刚才测试了一下sylun的test程序,离我想要的只差一点点。我要进行批量复制粘贴工作,一般情况下,使用ctrl键选择多个项目后进行复制时,复制的是一个整体,不是分开的,我想能复制成多个项目,放在剪贴板中,这样利用剪贴板就可以快速选择所需的项目进行粘贴。我觉得离我想要的结果不远了。

     另外刚才无意比较了一下sylun和守版主的宏,发现sylun的查找对话框跟系统默认的有的异常,对话框中的“替换”是隐灰的,守版主的“替换”是可用的。希望sylun不要介意,谢谢你一直对我提出的问题进行研究,真的是很善解人意,以后还请多多帮忙。

     关于我说的跨文档查找,守版主可能理解有偏差,我指的不是说将此功能适用于所有的文档,而是说如何使用即选即查功能在一个文档里查找另一个文档里的文本。

[此贴子已经被作者于2008-4-3 14:53:58编辑过]

TA的精华主题

TA的得分主题

发表于 2008-4-4 00:00 | 显示全部楼层

感谢老大的代码 & yy10 MM辛苦了

QUOTE:
以下是引用yy10在2008-4-3 9:17:31的发言:

     谢谢雨雪霏霏的挚言,我是第一次发帖,可能给你有不尊重的感觉,其实我是很真诚的。守版主给的代码我不知道怎么用,我不好说。

      最近在做一个书目,需要进行大量的查找,所以才有此贴,我不是存心要盖楼的,向来喜欢潜水,前几天看了守版主及各位高手的一些文章,觉得word真是很强大,所以就想请教各位,实现我的一些新奇的功能。下面再阐述一下我的需求。

    …………

     另外很感谢雨雪菲菲的关注,昨天特意搜了一下你的帖子,如同大家所说的,文采飞扬,带给大家一种享受,希望以后多看到你的帖子。

感谢yy10 MM的创意为大家引来了老大与sylun兄精彩的代码!今天小弟在工作中使用了老大最末一次的代码进行大量的文本查找,十分快捷方便,感谢老大!感谢yy10 MM

yy10 MM第一帖就能够厚积薄发,给家园带来很好的礼物,是兄弟姐妹们的福气!相较于前边的发帖而言,yy10 MM最近的帖子已经详细了许多,难为yy10 MM了!

至于小弟,惭愧得很,文采可不敢说“飞扬”!(守柔老大的文采,yy10 MM不妨得便好好领略一下,堪称“大家”的)

愿与yy10 MM一起共同进步!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-4-5 11:35 | 显示全部楼层

    不知大家在这个清明时节过得可好,这几天一直惦记着我的帖子,在这里还有一个批量查找的问题要请教。对于前面说的跨文档查找,我觉得有点不现实,思维有点混乱了,那个问题就当没问了。下面要说的这个问题跟上面的一些问题有很大关系。

    有文档1和文档2,文档2由多个表格组成,假设文档2里有一列分别为A、B、C、D、E、F……,现要以这一列的各个项目为查找对象,在文档1中进行查找,返回它们在文档1中所处的页码,并将此页码记录在文档2中,绝大多数情况下,这些项目在文档1中只有一个查找结果,有时有多个结果,有时会没有结果。我不想一个个地查找,我的想法是:

    在文档2中,使用Ctrl键一次选择多个项目,使用一个宏一次把它们复制成多个项目;

    如果word能一次查找多个项目,在文档1中,让word根据剪贴板中的内容一次查找多个项目,并弹出一个对话框,返回所有的查找对象分别所在的页码。如果不能一次查找多个项目的话,就看能不能根据剪贴板中的内容分别进行查找,一般情况下,无法将剪贴板中的内容插入到查找对话框中,在这里不知有没有办法实现。

    不知这个想法可不可行,这里涉及很多问题,亟待大家的帮忙。

TA的精华主题

TA的得分主题

发表于 2009-10-27 08:24 | 显示全部楼层

这个贴含金量很高,不得不顶!

这个贴含金量很高,不得不顶!但是应该转入到word板块

TA的精华主题

TA的得分主题

发表于 2010-8-8 00:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 逐月飞鸿 于 2009-10-27 08:24 发表
这个贴含金量很高,不得不顶!但是应该转入到word板块

支持逐月飞鸿兄的观点!

TA的精华主题

TA的得分主题

发表于 2010-8-8 01:05 | 显示全部楼层
原帖由 sylun 于 2008-4-3 10:52 发表
楼主这次提出的要求应该是明确的。我想关于第一条,版主的意思是将本过程代码放在Normal中,而不是放在测试文档中,代码是一样的。这样就可针对当前的活动文档。至于后面两条,因原程序不清楚楼主的总体想法,故只是 ...

测试了一下sylun兄的代码,运行时提示“编译错误:用户定义类型未定义”,位置位于这部分:
, myData As DataObject
请sylun兄帮忙指点一下什么原因?看了帮忙信息,还是不明白。

TA的精华主题

TA的得分主题

发表于 2010-8-8 08:36 | 显示全部楼层
原帖由 tangqingfu 于 2010-8-8 01:05 发表

测试了一下sylun兄的代码,运行时提示“编译错误:用户定义类型未定义”,位置位于这部分:
, myData As DataObject
请sylun兄帮忙指点一下什么原因?看了帮忙信息,还是不明白。

这个问题tangqingfu兄好像曾见过了:http://club.excelhome.net/viewth ... p;extra=&page=2

TA的精华主题

TA的得分主题

发表于 2010-8-10 13:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢sylun兄的解答,测试成功!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-15 21:07 , Processed in 0.023456 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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