For i = MSFlexGrid1.Rows - 1 To 1 Step -1
dl = MSFlexGrid1.TextMatrix(i, 1)
sl = "2578"
rl = "091"
wl = "346"
j = 0
c = 0
e = 0 For x = 1 To Len(dl)
For n = 1 To Len(sl)
If Mid(sl, n, 1) = Mid(dl, x, 1) Then j = j + 1
Next
For d = 1 To Len(wl)
If Mid(wl, d, 1) = Mid(dl, x, 1) Then c = c + 1
Next
For k = 1 To Len(rl)
If Mid(rl, k, 1) = Mid(dl, x, 1) Then e = e + 1
Next Next
If Form14.Option1(0) = True Then
If j = 0 And c = 0 And e = 3 And Form14.Check1(0).Value Then MSFlexGrid1.RemoveItem i
If j = 0 And c = 2 And e = 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j = 1 And c = 0 And e = 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
ElseIf Form14.Option1(1) = True Then
If j <> 0 Or c <> 0 Or e <> 3 And Form14.Check1(0).Value Then MSFlexGrid1.RemoveItem i
If j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
End If
Next
如果没有最后这两句
If j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
条件前4个都好使,但是加进这两个后只有 If Form14.Option1(0) = True Then这3个好使,If Form14.Option1(1) 的没有一个好使,显示“网格不包括那一行”该怎么改能让其都好使
dl = MSFlexGrid1.TextMatrix(i, 1)
sl = "2578"
rl = "091"
wl = "346"
j = 0
c = 0
e = 0 For x = 1 To Len(dl)
For n = 1 To Len(sl)
If Mid(sl, n, 1) = Mid(dl, x, 1) Then j = j + 1
Next
For d = 1 To Len(wl)
If Mid(wl, d, 1) = Mid(dl, x, 1) Then c = c + 1
Next
For k = 1 To Len(rl)
If Mid(rl, k, 1) = Mid(dl, x, 1) Then e = e + 1
Next Next
If Form14.Option1(0) = True Then
If j = 0 And c = 0 And e = 3 And Form14.Check1(0).Value Then MSFlexGrid1.RemoveItem i
If j = 0 And c = 2 And e = 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j = 1 And c = 0 And e = 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
ElseIf Form14.Option1(1) = True Then
If j <> 0 Or c <> 0 Or e <> 3 And Form14.Check1(0).Value Then MSFlexGrid1.RemoveItem i
If j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
End If
Next
如果没有最后这两句
If j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i
条件前4个都好使,但是加进这两个后只有 If Form14.Option1(0) = True Then这3个好使,If Form14.Option1(1) 的没有一个好使,显示“网格不包括那一行”该怎么改能让其都好使
If j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value Then MSFlexGrid1.RemoveItem i
If j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value Then MSFlexGrid1.RemoveItem i 这三个逻辑肯定有重的,比如,当j <> 0 Or c <> 0 Or e <> 3 And Form14.Check1(0).Value条件返回True时,第I行被删除,如果这时候j <> 0 Or c <> 2 Or e <> 1 And Form14.Check1(1).Value条件或j <> 1 Or c <> 0 Or e <> 2 And Form14.Check1(2).Value条件也同时返回True,后面MSFlexGrid1.RemoveItem i再次被执行,但实际上第I行已经被删除了,所以会出现“网格不包括那一行”的错误,建议你还是好好分析一下这三个逻辑。