Excel精英培训网

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

[已解决]如何在单元格区域中查找唯一值(最好用FOR语句)

[复制链接]
发表于 2015-12-11 14:33 | 显示全部楼层 |阅读模式
本帖最后由 shwanghuafeng 于 2015-12-12 17:18 编辑

目标是在当前工作簿的sheet1的M列至U列中找到指定值(有且唯一),然后返回与该值在同列中的第一个值
比如找到的值在U3,那么返回U1的值
1:求一个简单点的算法,最好用FOR循环实现,数组的话我还不懂,或者特别简单的数组写法也行
2:另外我能不能挨列调用MATCH或者INDEX函数来实现这一功能
最佳答案
2015-12-11 16:01
本帖最后由 无聊的疯子 于 2015-12-11 16:06 编辑

range.find吧,不知道具体情况,就按最简单的来

  1. Sub cc()
  2. Dim myWhat As String, C As Range, myLookat
  3.   myWhat = "要找什么呢?"         '你要找什么就改成什么
  4.   myLookat = XlLookAt.xlWhole   '匹配方式  ,这里设置的是精确匹配
  5. Set C = Sheet1.Range("m:u").Find(myWhat, , , myLookat)
  6. If C Is Nothing Then
  7.   MsgBox "没有找到有:" & myWhat
  8.   Else
  9.     MsgBox Cells(1, C.Column).Value
  10. End If
  11. End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-12-11 14:45 | 显示全部楼层
用FOR我不知道该如何控制每一列的搜索范围,因为每一列值的多少不是固定的
用MATCH的话我不知道怎么判断MATCH成功与否,不知道MATCH失败返回什么值
回复

使用道具 举报

发表于 2015-12-11 14:51 | 显示全部楼层
for each rng in range("m1:u" & [u65000].end(3).row)
      if rng.value = "查找值" then msgbox cells(1, rng.column)  '提高速度可以加句: exit for
next
回复

使用道具 举报

 楼主| 发表于 2015-12-11 15:49 | 显示全部楼层
橘子红 发表于 2015-12-11 14:51
for each rng in range("m1:u" & .end(3).row)
      if rng.value = "查找值" then msgbox cells(1, rng. ...

大大能不能解释下Range("m1:u" & [u65000].End(3).Row)
其中为什么写m1:u而不是m:u,65000和最后的row又代表什么意思?end(3)我知道是向上查找
回复

使用道具 举报

发表于 2015-12-11 15:51 | 显示全部楼层
用find不可以吗?干嘛非得要用循环呢?
回复

使用道具 举报

发表于 2015-12-11 16:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 无聊的疯子 于 2015-12-11 16:06 编辑

range.find吧,不知道具体情况,就按最简单的来

  1. Sub cc()
  2. Dim myWhat As String, C As Range, myLookat
  3.   myWhat = "要找什么呢?"         '你要找什么就改成什么
  4.   myLookat = XlLookAt.xlWhole   '匹配方式  ,这里设置的是精确匹配
  5. Set C = Sheet1.Range("m:u").Find(myWhat, , , myLookat)
  6. If C Is Nothing Then
  7.   MsgBox "没有找到有:" & myWhat
  8.   Else
  9.     MsgBox Cells(1, C.Column).Value
  10. End If
  11. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-12-12 17:17 | 显示全部楼层
谢谢各位大大的耐心解答
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 09:31 , Processed in 0.185376 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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