如何根据 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 代码时,光标会根据下拉列表中的内容移动到下一个单元格。
参见下图。

相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

