一直不喜欢官方自己带的查找功能太弱了,刚开始学,自己做了一个循环查找功能1、先建两个全局变量col和row
2、再建一个窗口,一个textbox控件和一个按钮控件。在按钮控件里加复制以下代码。
Dim textfind As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim y As Integer = CurrentTable.TopPosition
Dim x As Integer = CurrentTable.BottomPosition
If y <> x Then '只让选择一个焦点单元格,方便定位
MessageBox.Show("请只选一个单元格")
Return
End If
If Vars("col") <> 0 And Vars("row") <> 0 Then '如果全局变量col和row都不为0时赋值所定位的单元格的坐标
Vars("col") = CurrentTable.ColSel
Vars("row") = CurrentTable.RowSel
End If
If Vars("col") = CurrentTable.Cols.Count -1 Then '如果定位的单元格列的坐标是最后一列则赋值全局变量col和row
Vars("col") = -1
Vars("row") = Vars("row") +1
End If
If textfind.Text <> Nothing Then '控件textBox1不为空时执行
If CurrentTable.Rows.Count > 0 Then '当前表,行大于0时执行(表不为空时执行)
For i As Integer = vars("row") To CurrentTable.Rows.Count - 1 '循环行
For j As Integer = vars("col")+1 To CurrentTable.Cols.Count - 1 '循环列
If CStr(CurrentTable.Rows(i)(CurrentTable.Cols(j).Name)) Like "*" & textfind.Text & "*" Then '判断转换为字符串的单元格数据是不是包含控件textbox1里的数据
vars("row") = i '累加到变量
vars("col") = j '累加到变量
CurrentTable.Select(i,j) '定位当前表的单元格
Return '找到了就终止执行程序
End If
Next
vars("col") = 0 '在所有列没找到就重0列开始
Next
vars("col") = 0 '重头再来
vars("row") = 0 '重头再来
MessageBox.Show("已找完所有,将重头再找.","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
End If