|
我之前没看你的结果,确实没全部理解你的要求。我修改了代码,但仍有三个项目不一致,先贴代码,后面我再讲差异:
Sub 按钮1_Click()
Cells(1, 1) = Time
s1 = Cells(10, 1)
s2 = Cells(10, 3)
s3 = Cells(10, 4)
s4 = Cells(10, 5)
s5 = Cells(10, 6)
ss1 = ""
ss2 = ""
ss3 = ""
ss4 = ""
ss5 = ""
For i = 1 To 50000
If (i - 1) * 5 + 1 < Len(s1) Then
s = Mid(s1, (i - 1) * 5 + 1, 4)
If InStr(s2, s) > 0 Then
ss1 = ss1 & " " & s
ss5 = ss5 & " " & s
End If
If InStr(s3, s) > 0 Then
ss2 = ss2 & " " & s
ss5 = ss5 & " " & s
End If
If InStr(s4, s) > 0 Then
ss3 = ss3 & " " & s
ss5 = ss5 & " " & s
End If
If InStr(s5, s) > 0 Then
ss4 = ss4 & " " & s
ss5 = ss5 & " " & s
End If
Else
Exit For
End If
Next i
Cells(11, 3) = Trim(ss1)
Cells(12, 3) = Trim(ss2)
Cells(13, 3) = Trim(ss3)
Cells(14, 3) = Trim(ss4)
Cells(15, 3) = Cells(11, 3) & " " & Cells(12, 3) & " " & Cells(13, 3) & " " & Cells(14, 3)
s1 = Cells(15, 3)
ss1 = ""
For i = 1 To 50000
If (i - 1) * 5 + 1 < Len(s1) Then
s = Mid(s1, (i - 1) * 5 + 1, 4)
If InStr(ss1, s) = 0 Then
ss1 = ss1 & " " & s
End If
Else
Exit For
End If
Next i
Cells(16, 3) = Trim(ss1)
Cells(17, 3) = Trim(ss1)
s1 = Cells(10, 3)
s2 = Cells(17, 3)
ss = ""
For i = 1 To 50000
If (i - 1) * 5 + 1 < Len(s1) Then
s = Mid(s1, (i - 1) * 5 + 1, 4)
If InStr(s2, s) = 0 Then
ss = ss & " " & s
End If
Else
Exit For
End If
Next i
Cells(19, 3) = Trim(ss)
Cells(2, 1) = Time
Cells(3, 1) = Cells(2, 1) - Cells(1, 1)
End Sub
1、前4个是相符的,你数据后面都多一个空格,删除空格后与我的数据相同;
2、“汇总C11-C14”这个意思我没搞懂,之前我以为是对其中的数组计数汇总,看你的结果我理解成把c11-c14这4个连接在一起,不管怎么弄都与你数据有很大区别;
3、c16应该是正确的,你的结果有错误,中间多个空格(是中间不是结尾),去掉这个空格后与我的结果相同;
4、c17的“对C15数组从小到大排序”这个结果很奇怪,我的结果与你的结果(要去掉你中间多余的空格)长度相同,都是13839,但比较的结果不同,我也不知道差异在哪里?你可能需要仔细逐一比较才能看出差别来;
5、最后c19的差异也很奇怪,我不能肯定你是否正确。我仔细看了你的要求:找出G10与C17不相同的数组,是G10与C17的不同数组,而不是C17与G10的不同数组,这两个有可能会得到不同的结果的。
|
|