如何在 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 中的下拉列表中输入时自动完成。
广告