使用下拉式選單更改下拉清單旁邊的儲存格

使用下拉式選單更改下拉清單旁邊的儲存格

我對 vba 很陌生,有興趣創建一個執行以下操作的程式。當從下拉式選單中選擇一個項目時,它會將某些文字貼到所選下拉清單旁邊的儲存格中。

例如:我的下拉清單包含在 A 列 COMMENT MOVE 中

當我選擇“COMMENT”時,我想在 B 列“ENTER COMMENT”中填充 當我選擇“MOVE”時,我想在 B 列“ENTER MOVE TYPE”和 C 列“ENTER MOVE SPEED”中填充

我只希望在選擇下拉式選單時更改這些數據,因為我根據選擇的下拉式選單項目在其他單元格中使用此數據。

答案1

如果我理解正確的話,您可以使用 VBA 或僅使用函數來完成此操作。在我的範例中,我在 BothA1和 Both 中有一個列表,A4其中包含“COMMENT”和“MOVE”。

在此輸入影像描述

B1我有這個功能=IF(A1="MOVE","ENTER MOVE TYPE",IF(A1="COMMENT","ENTER COMMENT"," "))

並且在C1函數中=IF(A1="MOVE","ENTER MOVE SPEED","")

A4對於我在工作表上使用 VBA中的列表(右鍵單擊工作表並選擇“顯示代碼”)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Range(Target.Address), Range("A4")) Is Nothing And Target.Count = 1 Then
    If Target.Value2 = "MOVE" Then
        Target.Offset(, 1).Value = "ENTER MOVE TYPE"
        Target.Offset(, 2).Value = "ENTER MOVE SPEED"
    ElseIf Target.Value2 = "COMMENT" Then
        Target.Offset(, 1).Value = "ENTER COMMENT"
        Target.Offset(, 2).Value = ""
    Else
        Target.Offset(, 1).Value = ""
        Target.Offset(, 2).Value = ""
    End If
End If
End Sub

我在 和的幫助下使用文字的相對位置,因此B根據列表位置需要更改的程式碼更少。C.Offset

相關內容