Private Sub Command1_Click() Dim s(9) As String Dim foundflg As Integer 'For k = 0 To 9 ' s(k) = k 'Next s(0) = "K1" s(1) = "K2" s(2) = "K3" s(3) = "K1" s(4) = "K4" s(5) = "K5" s(6) = "K6" s(7) = "K7" s(8) = "K8" s(9) = "K9"For i = 0 To 9 foundflg = 0 For j = 0 To 9 If s(i) = s(j) And i <> j Then foundflg = 1 Exit For End If Next j
If foundflg = 1 Then MsgBox "有相同元素:" & i & "和" & j Exit For End If Next i End Sub
在楼上的基础上稍微改下 For i = 0 To 9 foundflg = 0 For j = i+1 To 9 If s(i) = s(j) Then foundflg = 1 Exit For End If Next j
If foundflg = 1 Then MsgBox "有相同元素:" & i & "和" & j Exit For End If Next i
Option ExplicitPrivate Sub Command1_Click() Dim s(10) As String Dim i As Integer Dim bExist As Boolean
For i = 1 To 10 s(i - 1) = "Item" & i Next s(8) = "Item8" '第9个(下标为8)内容改成Item8,与第8个相同 bExist = HaveTheSameItem(s, i) '判断 If bExist = True Then MsgBox "存在相同元素,第一个相同元素为第" & i & "个,内容为" & s(i) End If
End SubPrivate Function HaveTheSameItem(s() As String, ByRef Index As Integer) As Boolean Dim i As Integer Dim col As New Collection
On Error GoTo ms: For i = 0 To UBound(s) col.Add "", "Key_" & s(i) Next i
HaveTheSameItem = False
Exit Function ms: HaveTheSameItem = True Index = i End Function
单循环判断Private Sub Command1_Click() Dim s$(), ss$ s = Split("0,1,2,3,4,5,6,7,8,9", ",") For i = 0 To UBound(s) If 0 < InStr(ss, s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For ss = ss & s(i) & vbCrLf Next i End Sub
改下数字试试Private Sub Command1_Click() Dim s$(), ss$, i s = Split("0,1,2,111,11,13", ",") For i = 0 To UBound(s) If 0 < InStr(ss, s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For ss = ss & s(i) & vbCrLf Next i End Sub
呵呵,谢谢楼上提醒 修改了一下Private Sub Command1_Click() Dim s$(), ss$ s = Split("0,1,2,3,4,5,6,7,8,0", ",") ss = vbCrLf For i = 0 To UBound(s) If 0 < InStr(ss, vbCrLf & s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For ss = ss & s(i) & vbCrLf Next i End Sub
这个还出错嘛?Private Sub Command1_Click() Dim s$(9), ss$ 's = Split("0,1,2,3,4,5,6,7,8,0", ",") s(0) = "0" s(1) = "1" s(2) = "2" s(3) = "3" s(4) = "4" s(5) = "5" s(6) = "6" s(7) = "7" s(8) = "8" s(9) = "0" ss = vbCrLf For i = 0 To 9 If 0 < InStr(ss, vbCrLf & s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For ss = ss & s(i) & vbCrLf Next i End Sub
Dim s(9) As String
Dim foundflg As Integer
'For k = 0 To 9
' s(k) = k
'Next
s(0) = "K1"
s(1) = "K2"
s(2) = "K3"
s(3) = "K1"
s(4) = "K4"
s(5) = "K5"
s(6) = "K6"
s(7) = "K7"
s(8) = "K8"
s(9) = "K9"For i = 0 To 9
foundflg = 0
For j = 0 To 9
If s(i) = s(j) And i <> j Then
foundflg = 1
Exit For
End If
Next j
If foundflg = 1 Then
MsgBox "有相同元素:" & i & "和" & j
Exit For
End If
Next i
End Sub
For i = 0 To 9
foundflg = 0
For j = i+1 To 9
If s(i) = s(j) Then
foundflg = 1
Exit For
End If
Next j
If foundflg = 1 Then
MsgBox "有相同元素:" & i & "和" & j
Exit For
End If
Next i
Option ExplicitPrivate Sub Command1_Click()
Dim s(10) As String
Dim i As Integer
Dim bExist As Boolean
For i = 1 To 10
s(i - 1) = "Item" & i
Next
s(8) = "Item8" '第9个(下标为8)内容改成Item8,与第8个相同
bExist = HaveTheSameItem(s, i) '判断
If bExist = True Then
MsgBox "存在相同元素,第一个相同元素为第" & i & "个,内容为" & s(i)
End If
End SubPrivate Function HaveTheSameItem(s() As String, ByRef Index As Integer) As Boolean
Dim i As Integer
Dim col As New Collection
On Error GoTo ms:
For i = 0 To UBound(s)
col.Add "", "Key_" & s(i)
Next i
HaveTheSameItem = False
Exit Function
ms:
HaveTheSameItem = True
Index = i
End Function
Dim s$(), ss$
s = Split("0,1,2,3,4,5,6,7,8,9", ",")
For i = 0 To UBound(s)
If 0 < InStr(ss, s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For
ss = ss & s(i) & vbCrLf
Next i
End Sub
Dim s$(), ss$, i
s = Split("0,1,2,111,11,13", ",")
For i = 0 To UBound(s)
If 0 < InStr(ss, s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For
ss = ss & s(i) & vbCrLf
Next i
End Sub
修改了一下Private Sub Command1_Click()
Dim s$(), ss$
s = Split("0,1,2,3,4,5,6,7,8,0", ",")
ss = vbCrLf
For i = 0 To UBound(s)
If 0 < InStr(ss, vbCrLf & s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For
ss = ss & s(i) & vbCrLf
Next i
End Sub
Dim s$(9), ss$
's = Split("0,1,2,3,4,5,6,7,8,0", ",")
s(0) = "0"
s(1) = "1"
s(2) = "2"
s(3) = "3"
s(4) = "4"
s(5) = "5"
s(6) = "6"
s(7) = "7"
s(8) = "8"
s(9) = "0"
ss = vbCrLf
For i = 0 To 9
If 0 < InStr(ss, vbCrLf & s(i) & vbCrLf) Then MsgBox "第" & i + 1 & "个重复": Exit For
ss = ss & s(i) & vbCrLf
Next i
End Sub