If Len(a2(0)) = 1 Then '处理一位数字 LinStr = "" For i = 0 To UBound(a1) For j = 0 To UBound(a2) 'Text2的内容是否出现在Text1里 If InStr(a1(i), a2(j)) <> 0 Then '判断是否重复出现过,如果没有重复,就连接到LinStr If InStr(LinStr, a1(i)) = 0 Then '连接找到的字符串,并在后面添加换行符号(vbCrLf) LinStr = LinStr & a1(i) & vbCrLf End If End If Next j Next i Else '处理两位数字 LinStr = "" For i = 0 To UBound(a1) For j = 0 To UBound(a2) '拆分出百位数、十位数和个位数 '请自己看以下Mod运算和\运算以及Cint()函数的功能 a1g = CInt(a1(i)) Mod 10 a1b = CInt(a1(i)) \ 100 a2g = CInt(a2(j)) Mod 10 a2s = CInt(a2(j)) \ 10 'Text2的内容是否出现在Text1里 If InStr(a1(i), a2(j)) <> 0 Or (a1g = a2s And a1b = a2g) Then '判断是否重复出现过,如果没有重复,就连接到LinStr If InStr(LinStr, a1(i)) = 0 Then '连接找到的字符串,并在后面添加换行符号(vbCrLf) LinStr = LinStr & a1(i) & vbCrLf End If End If Next j Next i End If '把LinStr内容显示在Text3 Text3.Text = LinStr End Sub 说明: 我的答案,是在Text3里,每行显示一个数字,若要在Text3里显示在一行里,数字间用空格分隔,你自己动动脑子吧!我的代码里"VBCrLf"是换行用的,你要不换行而用空格分隔,该怎么办呢?自己想想办法吧???