如何在 Excel 下拉列表中输入时自动完成?
当使用包含许多项目的下拉列表时,选择其中一个会比较困难。可以使用自动完成功能来解决此问题。阅读本教程,了解如何在 Excel 下拉列表中输入时自动完成。当我们处理重复值时,自动完成可以节省大量时间。
在 Excel 下拉列表中输入时自动完成
让我们来看一个简单的过程,了解如何在 Excel 下拉列表中输入时自动完成。
步骤 1
考虑一个带有下拉列表的 Excel 电子表格。要创建下拉列表,请选择数据并单击“数据”,然后选择“仅允许列表”并单击“确定”。

现在在工作表上绘制一个组合框;我们可以在开发人员选项卡下的 ActiveX 控件中找到它,如下图所示。

步骤 2
现在右键单击该框,选择“属性”,并将名称更改为 TempCombo,如下图所示。

步骤 3
然后关闭属性弹出窗口,右键单击工作表名称,然后选择“查看代码”以打开 VB 应用程序,然后将程序输入到文本框中,如下图所示。
程序
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Update by Nirmal
Dim xCombox As OLEObject
Dim xStr As String
Dim xWs As Worksheet
Dim xArr
Set xWs = Application.ActiveSheet
On Error Resume Next
Set xCombox = xWs.OLEObjects("TempCombo")
With xCombox
.ListFillRange = ""
.LinkedCell = ""
.Visible = False
End With
If Target.Validation.Type = 3 Then
Target.Validation.InCellDropdown = False
Cancel = True
xStr = Target.Validation.Formula1
xStr = Right(xStr, Len(xStr) - 1)
If xStr = "" Then Exit Sub
With xCombox
.Visible = True
.Left = Target.Left
.Top = Target.Top
.Width = Target.Width + 5
.Height = Target.Height + 5
.ListFillRange = xStr
If .ListFillRange = "" Then
xArr = Split(xStr, ",")
Me.TempCombo.List = xArr
End If
.LinkedCell = Target.Address
End With
xCombox.Activate
Me.TempCombo.DropDown
End If
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Select Case KeyCode
Case 9
Application.ActiveCell.Offset(0, 1).Activate
Case 13
Application.ActiveCell.Offset(1, 0).Activate
End Select
End Sub

现在将工作表另存为启用宏的模板,使用“Alt + Q”命令关闭 VBA 应用程序,然后转到工作表并通过单击“设计模式”退出设计模式,我们的最终输出将类似于下图所示。

结论
在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中的下拉列表中输入时自动完成。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP