VB中如何查找Excel内容

2025-04-03 09:14:44
推荐回答(4个)
回答(1):

我用的textbox,你也可以改成你的那种控件,这个是返回在一个工作簿中的每个工作表中找到的第一个,如果要返回所有找到的,也可以修改.希望可以帮到你.我测试是OK的.
Private Sub CommandButton2_Click()
on error resume next '防止你要输入的a这个表未打开时报错.
Application.ScreenUpdating = False
Dim a As String
Dim b As String
Dim sh As Worksheet
a = TextBox1.Text '可以改成你的Text1.text
b = TextBox2.Text '可以改成你的Text2.text
Str1 = "*" & b & "*"
For Each sh In Workbooks(a & ".xls").Worksheets
For Each c In sh.Cells
If c.Value Like Str1 Then '如果要查相等的用c.value=b
x = c.Row
y = c.Column
MsgBox "工作表:" & sh.Name & vbNewLine & "x = " & x & ", y = " & y
Exit For
End If
DoEvents
Next
Next
Application.ScreenUpdating = True
End Sub

回答(2):

希望能帮到你:

Private Sub Command1_Click()
Dim fileadd As String
CommonDialog1.ShowOpen
CommonDialog1.Filter = "xls文件(*.xls)|*.xls" '选择你要的文件
a = CommonDialog1.FileName
Text1.Text = a
If a = "" Then Exit Sub
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(a) '打开已经存在的EXCEL工件簿文件
xlApp.Visible = False ' = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(1) '设置活动工作表
Text2.Text = LTrim(RTrim(xlBook.Worksheets(1).Cells(3, 1))) '取3行,1列的数据
xlApp.DisplayAlerts = False '不进行安全提示 '
Set xlSheet = Nothing '
Set xlBook = Nothing '
xlApp.quit '
Set xlApp = Nothing
End Sub

回答(3):

话说你要怎么个显示法啊?
逻辑判断的本身很简单
查询A行的值为AAA的单元格的行数
然后从该行数的下一行开始判断他的B列是否为空,如果为空,结束操作,如果不为空
那么取该行的A列值和B列值

回答(4):

不太明白意思,私信吧
应该能帮你解决