如何在Excel下拉列表的选择基础上快速跳转到相邻单元格?
典型的Microsoft Excel用户可以通过使用下拉列表来简化数据输入过程。在将数据输入选定单元格时,使用下拉列表来限制输入选项可以加快速度并减少出错的可能性。本篇文章将介绍Excel的数据验证功能,您可以快速轻松地创建下拉列表选项。您可以通过命名基于特定名称的Excel表格的一系列项目来在Excel中创建下拉列表。然后,将该列表作为您要创建的数据验证下拉列表的来源。
另一方面,在某些情况下,您可能希望以某种方式选择Excel中的单元格,这种选择是由另一个下拉列表中显示的选项决定的。您可能曾经想过如何根据在下拉列表中所做的选择来移动到Excel中的下一个单元格。在本教程中,您将学习使用VBA根据下拉列表中的另一个选择来选择单元格。
使用VBA根据下拉列表中的值跳转到相邻单元格
步骤1
在我们的示例中,我们在Excel表格中列出了日期和星期几,并有一个下拉列表包含从星期一到星期日的日期。请参见下图。
步骤2
要添加VBA代码,请通过同时按下Alt键和F11键(Alt+F11)打开**Microsoft Visual Basic for Applications窗口**。
步骤3
然后单击**插入>模块**,将打开弹出**模块窗口**。
步骤4
在模块窗口中,键入以下VBA代码。
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> [C2].Address Then Exit Sub Else JumpToCell End If End Sub Sub JumpToCell() Dim xRg, yRg As Range Dim strAddress As String strAddress = "" Set yRg = Range("A2:A8") For Each xRg In yRg 'MsgBox Cell.Value If xRg.Value = ActiveCell.Value Then strAddress = xRg.Address End If Next If strAddress = "" Then MsgBox "Invalid Selection" & ActiveSheet.Name, _vbInformation, "VBOutput" Exit Sub Else Range(strAddress).Offset(0, 1).Select End If End Sub
请参见下图。
在上面的代码中,我们添加了单元格区域A2:A8,在“Target.Address <> [C2].Address”中,C2是创建下拉列表的单元格。请根据您的需要更改这些单元格。
步骤5
单击**运行**或**F5**运行VBA代码。请参见下图。
运行上述VBA代码后,光标将根据下拉列表中的内容移动到下一个单元格。
请参见下图。
广告