主题:如何做文本内容比较?
如何做文本内容比较?
有2个文本框text1和text2,要求后期输入内容,例如在text1中输入20个名字,在text2中输入5个名字,而且是每个姓名占据一行,然后通过按钮确认进行比较(逐行名字比较),如果text2中的名字在text1中出现,则该名字输出到text3中;如果text2中的名字不在text1中出现,则该名字输出到text4中!
本人做了一个代码,如果进行4000人以上的对比,就会出现停顿,请问如何提高工作效率,并且能在短时间内完成工作?以下是本人的代码,请大侠们给小弟指教一下!
Private Sub Command1_Click()
For i = 0 To UBound(Split(Text1.Text, vbCrLf))
cz = 0
For j = 0 To UBound(Split(Text2.Text, vbCrLf))
If Split(Text1.Text, vbCrLf)(i) = Split(Text2.Text, vbCrLf)(j) Then
cz = 1
End If
Next
If cz = 1 Then
If Split(Text1.Text, vbCrLf)(i) <> "" Then
Text3.Text = Text3.Text & Split(Text1.Text, vbCrLf)(i) & vbCrLf
End If
End If
If cz = 0 Then
If Split(Text1.Text, vbCrLf)(i) <> "" Then
Text4.Text = Text4.Text & Split(Text1.Text, vbCrLf)(i) & vbCrLf
End If
End If
Next
End Sub
有2个文本框text1和text2,要求后期输入内容,例如在text1中输入20个名字,在text2中输入5个名字,而且是每个姓名占据一行,然后通过按钮确认进行比较(逐行名字比较),如果text2中的名字在text1中出现,则该名字输出到text3中;如果text2中的名字不在text1中出现,则该名字输出到text4中!
本人做了一个代码,如果进行4000人以上的对比,就会出现停顿,请问如何提高工作效率,并且能在短时间内完成工作?以下是本人的代码,请大侠们给小弟指教一下!
Private Sub Command1_Click()
For i = 0 To UBound(Split(Text1.Text, vbCrLf))
cz = 0
For j = 0 To UBound(Split(Text2.Text, vbCrLf))
If Split(Text1.Text, vbCrLf)(i) = Split(Text2.Text, vbCrLf)(j) Then
cz = 1
End If
Next
If cz = 1 Then
If Split(Text1.Text, vbCrLf)(i) <> "" Then
Text3.Text = Text3.Text & Split(Text1.Text, vbCrLf)(i) & vbCrLf
End If
End If
If cz = 0 Then
If Split(Text1.Text, vbCrLf)(i) <> "" Then
Text4.Text = Text4.Text & Split(Text1.Text, vbCrLf)(i) & vbCrLf
End If
End If
Next
End Sub