各位大哥:
小弟的代码如下:(小弟想实现在MSHFlexGrid查找符合的字符),但好像不行,请各位帮忙改改,小弟谢谢了!
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim s As String
Dim i, j As Integer
s = Trim(Text1.Text)
For i = 1 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
MSHFlexGrid1.Row = i
MSHFlexGrid1.Col = j
If Trim(MSHFlexGrid1.Text) = s Then
Exit For
' Exit For
End If
Next j
Next i
End If
End Sub
小弟的代码如下:(小弟想实现在MSHFlexGrid查找符合的字符),但好像不行,请各位帮忙改改,小弟谢谢了!
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim s As String
Dim i, j As Integer
s = Trim(Text1.Text)
For i = 1 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
MSHFlexGrid1.Row = i
MSHFlexGrid1.Col = j
If Trim(MSHFlexGrid1.Text) = s Then
Exit For
' Exit For
End If
Next j
Next i
End If
End Sub
你的取值是有問題的
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim s As String
Dim i, j As Integer
s = Trim(Text1.Text)
For i = 1 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
MSHFlexGrid1.Row = i
MSHFlexGrid1.Col = j
If Trim(MSHFlexGrid1.TextMatrix(i,j)) = s Then
Exit For
End If
Next j
Next i
End If
End Sub
If Trim(MSHFlexGrid1.TextMatrix(i,j)) = s Then
Exit For
exit for
End If
小组弟试了,但还是一样到最后!
光标还是到最后是什么意思呀?
改成:exit for 改成exit sub运行起来不是很好吗?
小弟按照您的方法,可以实现了,但如果有重复的只能找到第一个,第二个,第三个......
又不可以找到,又如何实现呢?
不知道你找到以后要干什么,如果只是想标记出符合条件的单元的话,可以在
找到后,把单元格 的颜色变换一下。如果想纪录单元格的位置,可以在变量中
纪录单元格坐标。
If KeyAscii = 13 Then
Dim s As String
Dim i, j As Integer
s = Trim(Text1.Text)
For i = 1 To Me.MSHFlexGrid1.Rows - 1
For j = 0 To Me.MSHFlexGrid1.Cols - 1
If Trim(MSHFlexGrid1.Text) = s Then
mshflexgrid1.row=i
mshflexgrid1.col=j
mshflexgrid1.cellbackcolor = rgb(255,255,192)
End If
Next j
Next i
End If
End Sub