Excel精英培训网

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

[已解决]宏运行错误,求大侠指导

[复制链接]
发表于 2024-3-6 13:54 | 显示全部楼层 |阅读模式
本帖最后由 sianfoin 于 2024-3-6 13:59 编辑

查询表内,无法按指定条件进行查询和归类,敬请大侠帮忙修改和指正。
最佳答案
2024-3-6 16:07
Sub 查询()
    Dim arr, brr, i%, j%, n%, m%, temp$, num%
    arr = Sheets("统计表").Range("A1").CurrentRegion.Value
    ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
    For i = 3 To UBound(arr)
        temp = arr(i, UBound(arr, 2))
        For n = 1 To 7
            If n <> 4 Then
                temp = temp & "\" & arr(i, n)
            End If
        Next n
        For m = 1 To 7
            If InStr(temp, Sheets("查询表").Cells(2, m)) < 1 Then Exit For
        Next m
        If m > 7 Then
            num = num + 1
            For j = 1 To UBound(arr, 2)
                brr(num, j) = arr(i, j)
            Next j
        End If
    Next i
    Range("A6").Resize(UBound(brr), UBound(brr, 2)) = brr
End Sub
Sub 清除查询()
    Range("A6").CurrentRegion.Resize(1000).Offset(1).ClearContents
End Sub

2024生产线不良状况统计表.zip

35.56 KB, 下载次数: 5

查询表

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2024-3-6 14:59 | 显示全部楼层
没代码就算了,好歹模拟点数据在上面啊。
坏机种类和分类指代那一个?
代码1.png
回复

使用道具 举报

发表于 2024-3-6 14:59 | 显示全部楼层
没代码就算了,好歹模拟点数据在上面啊。
坏机种类和分类指代那一个?
回复

使用道具 举报

 楼主| 发表于 2024-3-6 15:05 | 显示全部楼层
统计表里面有数据呢,帮忙看看,不胜感谢!

统计表

统计表
回复

使用道具 举报

发表于 2024-3-6 15:08 | 显示全部楼层
sianfoin 发表于 2024-3-6 15:05
统计表里面有数据呢,帮忙看看,不胜感谢!

我知道有数据,我的问题是,查询表里面的坏机种类和坏机分类对应的是统计表里面的哪个???
回复

使用道具 举报

发表于 2024-3-6 16:07 | 显示全部楼层    本楼为最佳答案   
Sub 查询()
    Dim arr, brr, i%, j%, n%, m%, temp$, num%
    arr = Sheets("统计表").Range("A1").CurrentRegion.Value
    ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
    For i = 3 To UBound(arr)
        temp = arr(i, UBound(arr, 2))
        For n = 1 To 7
            If n <> 4 Then
                temp = temp & "\" & arr(i, n)
            End If
        Next n
        For m = 1 To 7
            If InStr(temp, Sheets("查询表").Cells(2, m)) < 1 Then Exit For
        Next m
        If m > 7 Then
            num = num + 1
            For j = 1 To UBound(arr, 2)
                brr(num, j) = arr(i, j)
            Next j
        End If
    Next i
    Range("A6").Resize(UBound(brr), UBound(brr, 2)) = brr
End Sub
Sub 清除查询()
    Range("A6").CurrentRegion.Resize(1000).Offset(1).ClearContents
End Sub
回复

使用道具 举报

 楼主| 发表于 2024-3-6 17:08 | 显示全部楼层
首先非常感谢你的解答。但是复制上去还是无法运行呢。
回复

使用道具 举报

发表于 2024-3-7 12:42 | 显示全部楼层
所以我让你模拟点数据上去。顺便说明你具体要干嘛,想要得到什么样的结果?
而不是,无法运行。按我自己的理解,代码是没有问题的!!!
微信截图_20240307123743.png
回复

使用道具 举报

 楼主| 发表于 2024-3-7 15:32 | 显示全部楼层
谢谢!能不能把文件压缩后传上来,我对比一下看是哪里出了问题。
回复

使用道具 举报

发表于 2024-3-7 16:18 | 显示全部楼层
本帖最后由 zjdh 于 2024-3-7 16:21 编辑

2024生产线不良状况统计表.rar (37.78 KB, 下载次数: 1)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-19 01:56 , Processed in 0.167660 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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