楼主: theundead
10016 0

[生活百科] EXCEL中逐步输入提示,,想百度搜索框一样的功能 [推广有奖]

  • 2关注
  • 5粉丝

已卖:2781份资源

博士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
10614 个
通用积分
4.0525
学术水平
2 点
热心指数
4 点
信用等级
2 点
经验
6502 点
帖子
176
精华
0
在线时间
97 小时
注册时间
2010-2-11
最后登录
2023-2-5

楼主
theundead 发表于 2013-5-25 04:01:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

首先打开你需要此功能的excel工作簿

建好你的数据源,,(也就是,你需要逐步提示输入的是哪些数据)

插入文本框控件,和,列表框控件(由于有的人没接触过VBA所以怎么操作简单怎么来了,省的再将另一段代码复制到THISWORKBOOK里了)

在你需要此功能的工作表标签处点击右键(最好别是数据源工作表),查看代码,,将下面的代码复制到VBE窗口中

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For x = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(x) = True Then
        ActiveCell = ListBox1.List(x)
        TextBox1.Visible = False
        ListBox1.Visible = False
    End If
Next
End Sub
Private Sub TextBox1_Change()
ListBox1.Clear
With TextBox1
Dim rng As Range
    For Each rng In [d1:d10]        
        If Len(.Value) > 0 Then
            If InStr(1, rng, .Value) > 0 Then
                ListBox1.AddItem rng
            End If
        End If
    Next
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then
    With TextBox1
    .Value = ""
        If Target.Column = 1 Then
            .Top = Target.Top
            .Width = Target.Width
            .Height = Target.Height
            .Left = Target.Left
            .Visible = True
            .Activate
            ListBox1.Visible = True
            ListBox1.Top = Target.Top
        Else
            ListBox1.Visible = False
            .Visible = False
        End If
    End With
End If
End Sub

将代码中的红色字体的部分,更改成你数据源的区域,,(具体单元格表示方法请百度)然后在工作表的A列(绿色部分表示改代码在A列有效)输入任意数据(数据源里有的)实现改功能
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:EXCEL exce 百度搜索 xcel cel 工作表 数据源 文本框

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-9 12:45