| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖, 2 人收藏
标题:求助一个类似EXCEL中VLOOKUP功能的命令,请大家帮个忙,谢谢!
只看楼主 加入收藏
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
结帖率:71.43%
收藏(2)
已结贴  问题点数:10 回复次数:8 
求助一个类似EXCEL中VLOOKUP功能的命令,请大家帮个忙,谢谢!
有3个框,
在第一个文本框中输入CWF文档第一列中的数值后,在第二和第三个框中会分别显示CWF文档中第二列和第三列的内容。
大概代码是这样,就是红字部分代码想请大家帮个忙,谢谢
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    Label2.Caption =查找C:\CWF.xls文档中Text1框中输入的数值所对应的第2列的内容是什么
    Label3.Caption =查找C:\CWF.xls文档中Text1框中输入的数值所对应的第3列的内容是什么
    Else
        MsgBox ("数据不存在,请重新输入!!")
    End If
End If
End Sub


例子:  text1 输入 145133704   
       label2 显示 NWP2
       label3 显示 SERIAL NUMBER LABEL
请大家有空帮个忙,写下代码,谢谢了!
VB.zip (9.71 KB)



[ 本帖最后由 OKI4 于 2013-4-12 14:25 编辑 ]
搜索更多相关主题的帖子: 文本框 EXCEL Text1 
2013-04-12 13:03
zsdtylj
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-4-12
收藏
得分:0 
用ACC数据库不行吗?非要用excel?
2013-04-12 13:19
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
因为最后这些数据还要用EXCEL文档存档并发送给别人,所以最好是用EXCEL。。。。
请各位帮个忙,谢谢!
2013-04-12 14:06
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
顶一下,在线等。。。。
2013-04-12 14:26
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:10 
VB.zip (9.71 KB)

修改:修改输入框 text1 的类型textbox 为 combobox ,以便添加下拉表列输入方式。

程序代码:
Option Explicit                     '指定变量必须定义

Private Type 数据表格类型
   S1 As String
   S2 As String
   S3 As String
End Type

Dim CWF() As 数据表格类型
Dim CWFCOUNT As Long
Dim path As String


Private Sub Combo1_Click()
Call Combo1_KeyDown(13, 0)                          '当选择下拉列表时,就相当于按下了回车键
End Sub

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
Dim i As Long
If KeyCode = 13 Then
    For i = 1 To CWFCOUNT                           '查表
        If CWF(i).S1 = Combo1.Text Then             '找到
            Label2.Caption = CWF(i).S2              '显示内容
            Label3.Caption = CWF(i).S3
            Exit For                                '退出循环
        End If
    Next i
    If i > CWFCOUNT Then                            '判断是否找到
        MsgBox "数据不存在,请重新输入!!"         '未找到则提示
    End If
End If
End Sub

Private Sub Form_Load()

Dim i As Long

path = App.path                                     '初始化应用程序路径,以便定义数据文件
If Right(path, 1) <> "\" Then                       '统一路径格式
    path = path & "\"
End If

'读取数据列表,以便查表
Dim ExcelID As Excel.Application        '定义对象
Set ExcelID = New Excel.Application     '生成新的 Excel 对象

With ExcelID
'    .Visible = True             'debug
    .Visible = False             '显示EXCEL ,如果不用显示,这里就不显示
    .Caption = "应用程序调用 Microsoft Excel"            'EXECL 标题

    .Workbooks.Open path & "CWF.XLS"     '打开文件
    .Worksheets.Item(1).Activate         '设置第一个工作表为活动工作表
    
    i = 2                               '使用do循环读数据总个数
    Do While .Cells(i, 1) <> ""
        i = i + 1
    Loop
    CWFCOUNT = i - 2
    ReDim CWF(CWFCOUNT)                 '重定义数组
    
    For i = 1 To CWFCOUNT               '使用 FOR 循环读所有的数据
        CWF(i).S1 = .Cells(i + 1, 1)
        CWF(i).S2 = .Cells(i + 1, 2)
        CWF(i).S3 = .Cells(i + 1, 3)
        Combo1.AddItem CWF(i).S1        '同时把 需要输入的数据添加到 输入框的下拉列表中
    Next i
    
    .Workbooks.Close                '读完数据后,关闭数据表
    .Quit                           '退出 Excel
End With
Set ExcelID = Nothing
   
End Sub

收到的鲜花
  • OKI42013-04-13 00:07 送鲜花  3朵   附言:谢谢这位版主,非常感谢!

授人于鱼,不如授人于渔
早已停用QQ了
2013-04-12 15:58
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
哇,这位版主真是厉害,不仅帮忙解决问题,还给每句加了注释。。。
真的太感谢了,非常感谢。
2013-04-12 16:39
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
版主老大,这句有错。。。。能帮忙改下吗。。

'读取数据列表,以便查表
Dim ExcelID As Excel.Application        '定义对象   
 弹出提示说,用户定义类型未定义

要怎么改。。。帮个忙,谢谢!
2013-04-12 18:46
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
谁帮忙看看哪里错了。。。谢谢了。。
2013-04-12 23:20
OKI4
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2011-10-21
收藏
得分:0 
原来我没添加引用。。。试了可以了,非常感谢版主!!!!!!!!
非常感谢!!!!!!
2013-04-12 23:35
快速回复:求助一个类似EXCEL中VLOOKUP功能的命令,请大家帮个忙,谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045495 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved