想把相同的数量相加后,再删除,即相同的合并.
如下代码不行,索引超出边界.请大家帮忙.谢谢.
Dim t As Integer
t = ListView1.ListItems.CountDim fgh As String
For i = 1 To t
      'Text2.Text = ListView1.ListItems.Item(i).SubItems(2)
      fgh = ListView1.ListItems.Item(i).SubItems(2)
  For j = i + 1 To t
   If fgh = ListView1.ListItems.Item(j).SubItems(2) Then
      ListView1.ListItems.Item(i).SubItems(3) = ListView1.ListItems.Item(i).SubItems(3) + ListView1.ListItems.Item(j).SubItems(3)
      ListView1.ListItems.Remove (j)
      j = j - 1
  
      i = i - 1
    
    Text2 = j
   End If
 Next j
Next i
 

解决方案 »

  1.   

    if listview1.listitems.count>0 then
       listview1.listitems.remove (1)
    endif
    删除Listview1的第一条记录
      

  2.   

    你每次删除后,总数ListView1.ListItems.Count就会变化,当然会索引超出咯
      

  3.   

    unicorn_dsx(菜菜鸟) 谢谢,不是这样子的. 我的这一句ListView1.ListItems.Remove (j)也可删除.
    只是删除后就会出错.如原有10条记录,删除了一条.
    For j = i + 1 To t  中的J 还是12,不会减1 ,所以在这条词句时
    If fgh = ListView1.ListItems.Item(j).SubItems(2) Then 就会 索引超出边界 .不知道如何解决.
      

  4.   

    supergreenbean(超级绿豆 - 天气酷热,把我煮了熬汤吧), 谢谢!
    是这样子,有什么方法可以解决的吗
      

  5.   

    反過來刪除啊。
    For i = t To 1 step -1交流MSN:[email protected]