如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

Microsoft Excel的普通用户可以从使用下拉列表中受益,以简化数据输入过程。在输入数据到选定单元格时,使用下拉限制输入选项可以加快进程并降低出现错误的可能性。使用Excel的数据验证功能,本文将涵盖的内容,您可以快速轻松地生成选项下拉列表。您可以通过命名基于具有特定名称的Excel表的事物列表来构建Excel中的下拉列表。之后,将该列表作为数据验证下拉列表的源进行创建。

另一方面,有些情况下,您可能希望以一种使选择取决于另一个下拉列表中呈现选项的方式选择Excel中的单元格。您可能曾经想过如何基于下拉列表中的选择快速移动到Excel中的下一个单元格。在本教程中,您将学习使用VBA根据下拉列表中的另一种选择选择单元格。

根据VBA在下拉列表中的值跳转到相邻单元格

第一步

在我们的示例中,我们在Excel工作表中使用了日期和日期范围。其中包含从星期一到星期日的下拉列表。请参见下面的图像。

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

步骤2

要添加VBA代码,请按Alt键和F11(Alt + F11)键同时打开 Microsoft Visual Basic for Applications 窗口。

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

步骤3

然后单击 插入 >模块,将弹出 模块窗口

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

步骤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

请参见下面的图像。

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

在上面的代码中,我们添加了单元格范围A2:A8,并在“Target.Address <> [C2].Address”中C2是创建下拉列表的单元格。根据需要更改这些单元格。

步骤5

单击 运行 或 **F5

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

运行上述VBA代码后,根据下拉列表中的内容,光标将移动到下一个单元格。

请参见下面的图像。

如何根据Excel下拉列表中的选择快速跳转到相邻单元格?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程