EXCEL(自定义函数(VBA) )以某一个字或词(字或词:包括数字、字母、中文)为参照,提取它的下一单元

[复制链接]
查看11 | 回复4 | 2013-7-9 00:51:05 | 显示全部楼层 |阅读模式
Sub kljlk()
Dim i&, aa$, d As Object
Set d = CreateObject("scripting.dictionary")
aa = Application.InputBox("要查询的字符", "请输入", "小明", , , , , 2)
For i = 1 To [a65536].End(3).Row
If Cells(i, 1) = aa Then d(Cells(i + 1, 1).Value) = ""
Next
Range("B1").Resize(d.Count, 1) = Application.Transpose(d.keys)
Set ...
回复

使用道具 举报

千问 | 2013-7-9 00:51:05 | 显示全部楼层
能否说清楚,你说的下一单元格是向下还是向右?假如B列输入“小明”这两个字,是否A列发现包含小明的词组,如“小明他爸”,那么也同样返回小明他爸下面的1个值? 上图表中的1的对应值不是0,是你写错了还是题目另有要求?...
回复

使用道具 举报

千问 | 2013-7-9 00:51:05 | 显示全部楼层
为什么要用自定义函数?自带的函数就可以达到要求啊...
回复

使用道具 举报

千问 | 2013-7-9 00:51:05 | 显示全部楼层
function 寻找(选择区域,目标词语 as range)
寻找=选择区域.find(目标词语.value).offset(1).valueend function试试这个,还有自定义函数只能返回一个值,像你上图那种情况有两个“小明”作为“目标词语”的“选择区域”,建议你还是用过程,即sub。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行