故事是这样的,工作对象会产生大量的数据,但是没有相应的汇总查询软件,于是花钱在咸鱼找了个学生做了个有查询汇总功能的表格,很好用。现在数据的项增多了,原功能无法导入新项,会中断,无法使用。
其实不改进没什么实质性影响,但是对于一门全新没接触过的知识,我感觉能凭自己的猜测完成改进,是个挺有趣的事,于是研究了一段时间,解决了汇总的问题,现在汇总表格已经能正常读取新增项的数据并形成表格。但是另一个sheet的查询功能,响应的参数也跟着坐了修改,却无法正常运行查询,有报错。
其实就是和原来的作者一个红包就能解决的事情,但刚才说了,主要是觉得这事有趣,所以想自己搞定。搜了一下vb代码,看了会觉得还是不要难为自己……当然,我发帖寻求帮助,如果解决了,也是凭本事靠自己问出来的,肯定也算是我“自己”搞定的

下面是表格情况,走过路过的都来捧捧场,给点建议,不胜感激!我代表人类正义事业向各位表示感谢!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
红框是每个样本编号,蓝色是每个样本的项,黄框是有新增项的样本增项数据

过程谁这样的:
机器会生成一个dat文件,将dat改为xls文件后形成excel文件。在“查询”标签中点击导入,可以将数据识别出来并汇总到“汇总”标签,形成有编号和数据的表格。
在输入行填入数据后点击查询,会在“汇总”标签里寻找数据一致的编号,形成查询结果。

现在点击“查询”按钮,弹窗报错。


以下是全部代码:
Public Sub 查询()
Application.ScreenUpdating = False
pp = Sheet2.Range("b6:ao6")
m = Sheet1.Range("a" & Rows.Count).End(xlUp).Row
Sheet2.Cells(2, 11) = ""
For i = 2 To m
For Each a In pp
l = Sheet1.Range("b1:am1").Find(a).Column
mb = Sheet2.Cells(7, Sheet2.Range("d6:aq6").Find(a).Column)
' If InStr(Sheet1.Cells(i, l), "/") = 0 Then
If Sheet1.Cells(i, l) <> CStr(mb) Then
GoTo TT
End If
' Else
' n = Len(Sheet1.Cells(i, l))
' For j = n To 1 Step -1
' If Mid(Sheet1.Cells(i, l), j, 1) = "/" Then
' If Mid(Sheet1.Cells(i, l), j + 1, n) <> CStr(mb) Then
' If Mid(Sheet1.Cells(i, l), 1, j - 1) <> CStr(mb) Then
' GoTo TT
' Else
' GoTo HG
' End If
' Else
' GoTo HG
' End If
' End If
' Next j
' End If
HG:
Next a
Sheet2.Cells(2, 11) = Sheet2.Cells(2, 11) & Sheet1.Cells(i, 1) & "-"
TT:
Next i
MsgBox "查询成功"
End Sub
-------------------------------------------------------------------------------
跪求高手指点哈!