VB如何将两个LISTBOX的每一行list数据对比是否正确?

我程序里有两个listbox,list1里每一行都有固定的数值,通过Text1输入数据到list2,输完每一行的数据后就判断list1与list2每一行的数据是否一致的,... 我程序里有两个listbox,list1里每一行都有固定的数值,通过Text1输入数据到list2,输完每一行的数据后就判断list1与list2每一行的数据是否一致的,如是一致提示OK,如不一致提示NG.请问各位代码要怎么写? 展开
 我来答
风雪剑无痕
2012-05-19 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1684万
展开全部
For i = 0 To List1.ListCount - 1
If InStr(List1.List(i), Text1.Text) Then
List1.ListIndex = i '这里是一致就对List1进行选中,可以根据你的需要进行设置
Exit For
End If
Next
追问
非常感谢,我是要拿List1的每一行数值与List2的每一行数值做对比,
如:
List1 1 List2 3
List1 2 List2 2
List1 3 List2 1
点击判断List1 1 与List2 , 3 List1 2 与 List2 2 , List1 3 与List2 1 是否一致的,不一致提示错误。每一行都要一致否则提示错误,每一行一致提示正确。
请问要怎么写?
追答
Private Sub List1_Click()
List2.ListIndex = List1.ListIndex
If List2.Text List1.Text Then
MsgBox "NG"
Else
MsgBox "OK"
End If
End Sub
问题是每次都弹有点繁琐,再者List2里的行数也不一定够用,会出错的,自己加个处理
忘了可不可以
2012-05-19 · 超过30用户采纳过TA的回答
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:102万
展开全部
只要点一次就可以了,不知道你的数据有多少
Private Sub Command1_Click()
Dim I As Integer
Dim str As String
If List1.ListCount <> List2.ListCount Then
MsgBox "LIST1与LIST2的列表数不一致。"
Exit Sub
End If
For I = 0 To List1.ListCount - 1
If List1.List(I) <> List2.List(I) Then
str = str & "LIST1与LIST2第" & I & "列不一致" & vbCrLf
Else
str = str & "LIST1与LIST2第" & I & "列一致" & vbCrLf
End If
Next I
MsgBox str
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式