注册 登录
编程论坛 VB6论坛

查找Excel表A列里的数据并显示找到的同行B列的内容?帮忙看下哪里出问题了

frdqq 发布于 2018-03-08 12:23, 3561 次点击
Dim xlApp As Excel.Application '定义EXCEL类
Dim xlBook As Excel.Workbook '定义工件簿类
Dim xlsheet As Excel.Worksheet '定义工作表类
Dim a
Dim aa
Dim bb
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) '设置活动工作表
xlApp.DisplayAlerts = False '不进行安全提示 '
 End Sub
Private Sub Command2_Click()
xlApp.Quit
    Set Xlssheet = Nothing
    Set Xlsbook = Nothing
    Set Xls = Nothing
err:
Text1.Text = "" '清空内容
Text2.Text = "" '清空内容
Text3.Text = "" '清空内容
 End Sub
Private Sub Command3_Click()
With xlsheet
aa = Text2.Text
On Error Resume Next
 bb = xlApp.WorksheetFunction.VLookup(aa, Range("A:A"), 3, False)
 Text3.Text = bb
 If err <> 0 Then MsgBox "你输入的不存在或错误,请查正后重新输入!", vbOKCancel, "输入检查"
On Error GoTo 0
 End With
End Sub
7 回复
#2
xiangyue05102018-03-08 15:31
VLookup(aa, Range("A:A"), 3, False)这个是在Range("A:A")的第3列中找到aa。 问题是你这个Range中有第3列么?
其次,你题目提到B列,但是代码中没有任何地方提到B列。 这种文不对题的事情还是少做,让人搞不清楚怎么回事
#3
xyxcc1772018-03-08 15:56
bb = xlApp.WorksheetFunction.VLookup(aa, Range("A:B"), 2, False)

显示的数据要包含在查找的范围内。

[此贴子已经被作者于2018-3-8 15:57编辑过]

#4
xiangyue05102018-03-08 16:23
回复 3楼 xyxcc177
我怀疑他不是这个意思
你这个是直接在B列查找,其实又跟A列没有关系吧
#5
xyxcc1772018-03-08 16:41
回复 4楼 xiangyue0510
A       B
张三   河北
李四   湖南
他的意思就是查找“张三”,显示“河北”
#6
xiangyue05102018-03-08 18:55
回复 5楼 xyxcc177
还是你厉害
#7
xiangyue05102018-03-08 18:55
回复 5楼 xyxcc177
还是你厉害
#8
frdqq2018-03-09 12:49
原来是这样的啊。那我想在A列里查找,显示B列的
VLookup(aa, Range("A:A"), 3, False)这里的对应关系应该是什么
刚接触VB,不好意思了
1