如何在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程式碼後,游標將根據下拉列表中的內容移動到下一個單元格。
請參見下圖。

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP