ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2024|回复: 21

[求助] 多条件取值求助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-4-27 20:34 | 显示全部楼层 |阅读模式
本帖最后由 天边2021 于 2023-4-27 20:36 编辑

说明如图所示,请大家帮忙看看,物料代码类别多选的 书写格式为:A/B  A/B/F
AAA.jpg

4.27.zip

31.16 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2023-4-27 20:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
先做个记号。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-27 20:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-4-27 21:02 | 显示全部楼层
Yalishanda30 发表于 2023-4-27 20:51
难得大神晚上也逛论坛

以后会多起来了。

TA的精华主题

TA的得分主题

发表于 2023-4-27 21:07 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-4-27 21:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ykcbf1100 发表于 2023-4-27 21:07
刚看到你一个回复帖子,写的代码挺好的。

不敢当,写着玩的

TA的精华主题

TA的得分主题

发表于 2023-4-28 01:50 | 显示全部楼层
不知道是不是这样,很乱。


Option Explicit
Sub 查询入库单号()
Dim Arr As Variant, Brr As Variant
Dim fk As Long, hh As Long, js As Long
fk = Sheets("总表").Cells(Rows.Count, 1).End(xlUp).Row + 1
Arr = Sheets("总表").Range("A1").Resize(fk, 1)
fk = Sheets("分表").Cells(Rows.Count, 1).End(xlUp).Row - 3
Brr = Sheets("分表").Range("A4").Resize(fk, 13)
ReDim Crr(1 To fk, 1 To 11) As Variant
For hh = 1 To fk
    If Not IsNumeric(Application.Match(Brr(hh, 1), Arr, 0)) Then
        js = js + 1
        Crr(js, 1) = Brr(hh, 1)
        Crr(js, 2) = Brr(hh, 2)
        Crr(js, 3) = Brr(hh, 4)
        Crr(js, 4) = Brr(hh, 10)
        Crr(js, 5) = Brr(hh, 11)
        Crr(js, 6) = Brr(hh, 13)
        Crr(js, 7) = Brr(hh, 5)
        Crr(js, 8) = Brr(hh, 6)
        Crr(js, 10) = Brr(hh, 7) '单位
        Crr(js, 11) = Brr(hh, 8)
    End If
Next hh
If js > 0 Then
    Sheets("总表").Cells(fk, 1).Resize(js, 11) = Crr
    fk = Sheets("总表").Cells(Rows.Count, 1).End(xlUp).Row
    Sheets("总表").Sort.SortFields.Clear
    'Sheets("总表").Range("A1").Resize(fk, 11).Sort key1:=Sheets("总表").Range("A1"), order1:=xlAscending, Header:=xlYes '以入库单号排序升序
    Sheets("总表").Range("A1").Resize(fk, 11).Sort key1:=Sheets("总表").Range("B1"), order1:=xlAscending, Header:=xlYes '以入库日期排序升序
End If
End Sub

4.27.rar (43.14 KB, 下载次数: 1)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-28 01:57 | 显示全部楼层
'先前上面发的少了一行代码
Option Explicit
Sub 查询入库单号()
Dim Arr As Variant, Brr As Variant
Dim fk As Long, hh As Long, js As Long
fk = Sheets("总表").Cells(Rows.Count, 1).End(xlUp).Row
Arr = Sheets("总表").Range("A1").Resize(fk, 1)
fk = Sheets("分表").Cells(Rows.Count, 1).End(xlUp).Row - 3
Brr = Sheets("分表").Range("A4").Resize(fk, 13)
ReDim Crr(1 To fk, 1 To 11) As Variant
For hh = 1 To fk
    If Not IsNumeric(Application.Match(Brr(hh, 1), Arr, 0)) Then
        js = js + 1
        Crr(js, 1) = Brr(hh, 1)
        Crr(js, 2) = Brr(hh, 2)
        Crr(js, 3) = Brr(hh, 4)
        Crr(js, 4) = Brr(hh, 10)
        Crr(js, 5) = Brr(hh, 11)
        Crr(js, 6) = Brr(hh, 13)
        Crr(js, 7) = Brr(hh, 5)
        Crr(js, 8) = Brr(hh, 6)
        Crr(js, 10) = Brr(hh, 7) '单位
        Crr(js, 11) = Brr(hh, 8)
    End If
Next hh
If js > 0 Then
    fk = Sheets("总表").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Sheets("总表").Cells(fk, 1).Resize(js, 11) = Crr
    fk = Sheets("总表").Cells(Rows.Count, 1).End(xlUp).Row
    Sheets("总表").Sort.SortFields.Clear
    'Sheets("总表").Range("A1").Resize(fk, 11).Sort key1:=Sheets("总表").Range("A1"), order1:=xlAscending, Header:=xlYes '以入库单号排序升序
    Sheets("总表").Range("A1").Resize(fk, 11).Sort key1:=Sheets("总表").Range("B1"), order1:=xlAscending, Header:=xlYes '以入库日期排序升序
End If
End Sub
4.27.rar (43.14 KB, 下载次数: 3)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-4-28 09:16 | 显示全部楼层
8楼的代码应该不是楼主想要的结果,没有考虑多选的问题。
这个题,总的来说比较复杂,首先有4个条件,每个条件中又可以不选,也可以单选,还可以多选,所以,要考虑的因素很多,需要的代码也很多。

TA的精华主题

TA的得分主题

发表于 2023-4-28 09:22 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 05:25 , Processed in 0.051202 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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