If et(etzu) = m And Form2.Check1(dd).Value Then MSFlexGrid1.RemoveItem i 
现在这句是把相同的删除了 
如果把相同的保留该怎么写 
If et(etzu) <> m 和 If not et(etzu) = m 都不好使 
该怎么改

解决方案 »

  1.   

    If et(etzu) = m And Form2.Check1(dd).Value Then 
    Else
    MSFlexGrid1.RemoveItem i
    End If
    试一试
      

  2.   

    SYSSZ 老师,这么改也不好使啊
      

  3.   

    仍用你原来的语句If et(etzu) = m And Form2.Check1(dd).Value Then ,把MSFlexGrid1.RemoveItem i改为相同项放在一个数组里,清除所有项,再把数组中的内容放到MSFlexGrid1里
      

  4.   

    不知道你的上下文环境,单单一句很难分析。试试:If Not((et(etzu) = m) And Form2.Check1(dd).Value) Then MSFlexGrid1.RemoveItem i
      

  5.   

    这样吧,
    我把整个代码贴出来
    For dd = 0 To 18
        For etzu = 0 To 2
            If Form4.Check1(dd).Value = 1 Then m = dd - 9
            If Form4.Check2(dd).Value = 1 Then m = dd - 9
            If Form4.Check3(dd).Value = 1 Then m = dd - 9
            For i = MSFlexGrid1.Rows - 1 To 1 Step -1
                bb = MSFlexGrid1.TextMatrix(i, 1)
                a = bb Mod 10
                b = (bb \ 10) Mod 10
                c = (bb \ 100) Mod 10
                d = IIf(a >= b, IIf(a >= c, a, c), IIf(b >= c, b, c)) 
                e = IIf(a <= b, IIf(a <= c, a, c), IIf(b <= c, b, c)) 
                x = l - d - e 
                et(0) = e - x
                et(1) = e - d
                et(2) = x - d
               If (et(etzu) = m And Form2.Check1(dd).Value) Then MSFlexGrid1.RemoveItem i
            Next
        Next
    Next
    现在的结果是相同的删除了,好使
    我分别改成了
    If Not((et(etzu) = m) And Form2.Check1(dd).Value) Then MSFlexGrid1.RemoveItem i 

    If et(etzu) <> m 或 If not et(etzu) = m 都不好使 
    该怎么改呀
      

  6.   

    上面的例子Form2和Form4是不同的,实际是相同的,这块没毛病
      

  7.   


    “相同的”能够删除,想不删除,“相同的”不处理不就完了。除非你删除操作本就不对For dd = 0 To 18 
        For etzu = 0 To 2 
            If Form4.Check1(dd).Value = 1 Then m = dd - 9 
            If Form4.Check2(dd).Value = 1 Then m = dd - 9 
            If Form4.Check3(dd).Value = 1 Then m = dd - 9 
            For i = MSFlexGrid1.Rows - 1 To 1 Step -1 
                bb = MSFlexGrid1.TextMatrix(i, 1) 
                a = bb Mod 10 
                b = (bb \ 10) Mod 10 
                c = (bb \ 100) Mod 10 
                d = IIf(a >= b, IIf(a >= c, a, c), IIf(b >= c, b, c)) 
                e = IIf(a <= b, IIf(a <= c, a, c), IIf(b <= c, b, c)) 
                x = l - d - e                         'l是什么
                et(0) = e - x 
                et(1) = e - d 
                et(2) = x - d 
              If (et(etzu) = m And Form2.Check1(dd).Value) Then MSFlexGrid1.RemoveItem i 
            Next 
        Next 
    Next LZ,看不出你想做什么,也不知逻辑对不对,又没数据参考