Excel精英培训网

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

[已解决]为什么后面多了个逗号?

[复制链接]
发表于 2016-11-6 11:20 | 显示全部楼层 |阅读模式
本帖最后由 lingyuncelia1 于 2016-11-7 12:36 编辑

捕获.PNG
Function mymlookup(myword As Range, mybook As Range, mycol As Integer)
Dim mysht As Worksheet
Set mysht = ActiveSheet
maxrow = mysht.UsedRange.Rows.Count
For i = 1 To maxrow
If myword.Value Like "*" & mybook.Cells(i, 1) & "*" Then
myresult = myresult & "," & mybook.Cells(i, mycol).Value
End If
Next
mymlookup = myresult
End Function

自己写了个一对多模糊查找自定义函数,查找结果F1前面的逗号我是明白的,但不明白为什么最后也有个逗号,输出结果不是应该:
,5880205011010200258,80010000859312986
?为什么后面多了个逗号?

最佳答案
2016-11-6 12:53
试试删除第4行整行。说明该行中有不可见数据。

test.zip

12.73 KB, 下载次数: 13

发表于 2016-11-6 12:53 | 显示全部楼层
Function mymlookup(myword As Range, mybook As Range, mycol As Integer)
Dim mysht As Worksheet
Set mysht = ActiveSheet
maxrow = mysht.UsedRange.Rows.Count
For i = 1 To maxrow
If myword.Value Like "*" & mybook.Cells(i, 1) & "*" And mybook.Cells(i, 1) <> "" Then
myresult = myresult & "," & mybook.Cells(i, mycol).Value
End If
Next
mymlookup = Mid(myresult, 2)
End Function
maxrow是4,有空白单元格,另自定义函数不要这样写的好

评分

参与人数 1 +3 收起 理由
lingyuncelia1 + 3

查看全部评分

回复

使用道具 举报

发表于 2016-11-6 12:53 | 显示全部楼层    本楼为最佳答案   
试试删除第4行整行。说明该行中有不可见数据。
回复

使用道具 举报

发表于 2016-11-6 13:13 | 显示全部楼层
maxrow的值运行到空行了,空单元格是会被找到的,所以最后又多了一个逗号
回复

使用道具 举报

发表于 2016-11-6 13:21 | 显示全部楼层
  1. Function mymlookup(myword As Range, mybook As Range, mycol As Integer)
  2. Dim mysht As Worksheet
  3. Set mysht = ActiveSheet
  4. maxrow = mysht.UsedRange.Rows.Count
  5. For i = 1 To maxrow
  6. If myword.Value Like "*" & mybook.Cells(i, 1) & "*" And mybook.Cells(i, 1) <> "" Then
  7. myresult = myresult & "," & mybook.Cells(i, mycol).Value
  8. End If
  9. Next
  10. mymlookup = Mid(myresult, 2, Len(myresult))
  11. End Function
复制代码

评分

参与人数 1 +3 收起 理由
lingyuncelia1 + 3

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-11-7 12:21 | 显示全部楼层
苏子龙 发表于 2016-11-6 12:53
Function mymlookup(myword As Range, mybook As Range, mycol As Integer)
Dim mysht As Worksheet
Set  ...

maxrow 明明是3啊,怎么会是4呢?
回复

使用道具 举报

 楼主| 发表于 2016-11-7 12:27 | 显示全部楼层
zjdh 发表于 2016-11-6 12:53
试试删除第4行整行。说明该行中有不可见数据。

成功了,居然真有不可见数据,用Delete键也无法清楚,怎么会如此的?
回复

使用道具 举报

 楼主| 发表于 2016-11-7 12:30 | 显示全部楼层
zjdh 发表于 2016-11-6 12:53
试试删除第4行整行。说明该行中有不可见数据。

连用LEN函数也测不出有东西在
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 06:44 , Processed in 0.520571 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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