Excel精英培训网

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

[已解决]如何快速查找目标组数据?

[复制链接]
发表于 2012-9-19 22:59 | 显示全部楼层 |阅读模式
如附件 快速查找目标组数据附件.rar (22.64 KB, 下载次数: 21)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-20 07:40 | 显示全部楼层
本帖最后由 hwc2ycy 于 2012-9-20 07:43 编辑

用match可以找到所在列的列标号(用数字表示的)。

在V里可以通过查找到数据所在的单元格,然后取地址,再从地址值里返回所在的列字母表示。
回复

使用道具 举报

发表于 2012-9-20 09:59 | 显示全部楼层    本楼为最佳答案   
Sub Macro2()
Application.ScreenUpdating = False  '禁用刷新
Range("B4:D270").ClearContents
Sheets("Sheet1").Select
a = ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.Count).Row  '行
b = ActiveSheet.UsedRange.Item(ActiveSheet.UsedRange.Count).Column  '列
    m = 1
    f = Application.CountIf(Range(Cells(1, 1), Cells(a, b)), Sheets("sheet2").[B3].Value)
    For r = 1 To f
   Cells.Find(What:=Sheets("sheet2").[B3].Value, After:=ActiveCell).Activate
    x = ActiveCell.Row
    y = ActiveCell.Column
   If Cells(x, y + 1) = Sheets("sheet2").[C3] And Cells(x, y + 2) = Sheets("sheet2").[D3] Then
   
    z = Replace(Mid(Cells(x, y).Address, 2, 2), "$", "")    ' 由列数得到列标
    s = Replace(Mid(Cells(x, y + 1).Address, 2, 2), "$", "")
    t = Replace(Mid(Cells(x, y + 2).Address, 2, 2), "$", "")
   Sheets("sheet2").Cells(m + 3, 2).Resize(1, 3) = Array(z, s, t)
    m = m + 1
    End If
    Next
'----提示
If m = 1 Then
MsgBox "对不起,没找到", , "山风提示"
Else
MsgBox "共找到" & m - 1 & "组数据", , "山风提示"
End If
Sheets("Sheet2").Select
End Sub
副本Xl0000002.rar (11.91 KB, 下载次数: 30)

评分

参与人数 1 +1 收起 理由
dfshmzdf + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2012-9-20 20:54 | 显示全部楼层
学习了,感谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-31 04:03 , Processed in 0.254147 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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