Excel精英培训网

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

求多条件查询代码

[复制链接]
发表于 2023-4-4 21:25 | 显示全部楼层 |阅读模式

我想做成图一中的二个或二个以上条件查询,从网上查到的是单条件查询代码,可以帮我改为多条件查询代码吗,效果和单查询一致。
网上找的单查询代码为:
Sub 按产品查询()
ends = Sheet1.Columns(1).Find("*", , , , , searchdirection:=xlPrevious).Row '动态找到A列的最后一个单元格
Sheet2.Range("A5:E1048576").Clear '清除之前所有的筛选结果
For Each Rng In Sheet1.Range("B2:B" & ends)
m = m + 1
If Rng Like Sheet2.Range("B2") Then '如果条件成立,那么
k = k + 1
Sheet1.Range("a" & m + 1 & ":E" & m + 1).Copy Sheet2.Range("a" & k + 4) '将记录复制到另一个区域
End If
Next
End Sub


excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2023-4-4 21:31 | 显示全部楼层
回复

使用道具 举报

发表于 2023-4-5 16:15 | 显示全部楼层
本帖最后由 zjdh 于 2023-4-5 16:18 编辑

只要修改这句语句:
If Rng Like Sheet2.Range("B2") And Rng.Offset(, N) Like P2 Then
其中“N”为与“B”列相邻几列,“P2”为第二个条件
以此类推可增加无数个条件
回复

使用道具 举报

 楼主| 发表于 2023-4-6 12:01 | 显示全部楼层
zjdh 发表于 2023-4-5 16:15
只要修改这句语句:
If Rng Like Sheet2.Range("B2") And Rng.Offset(, N) Like P2 Then
其中“N”为与“ ...

已解决,谢谢大神
回复

使用道具 举报

发表于 2023-4-12 09:04 | 显示全部楼层
zjdh 发表于 2023-4-5 16:15
只要修改这句语句:
If Rng Like Sheet2.Range("B2") And Rng.Offset(, N) Like P2 Then
其中“N”为与“ ...

请教大神:如果条件在b2,b3,其中一个空白,表示全部,谢谢.

回复

使用道具 举报

发表于 2023-4-12 21:46 | 显示全部楼层
dou10801 发表于 2023-4-12 09:04
请教大神:如果条件在b2,b3,其中一个空白,表示全部,谢谢.

If Sheet2.Range("B2")="" OR Sheet2.Range("B3")=""  Then
  记录复制全部记录到另一个区域
Else If Rng Like Sheet2.Range("B2") And Rng.Offset(, N) Like Sheet2.Range("B3") Then 将该行记录复制到另一个区域
End If

回复

使用道具 举报

发表于 2023-4-14 13:28 | 显示全部楼层
zjdh 发表于 2023-4-12 21:46
If Sheet2.Range("B2")="" OR Sheet2.Range("B3")=""  Then
  记录复制全部记录到另一个区域
Else If R ...

感谢大大指点,感恩.

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 07:11 , Processed in 0.281772 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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