Excel 如何从下拉列表中自动选择值?

Excel 如何从下拉列表中自动选择值?,excel,vba,Excel,Vba,所以我有两张纸-SheetA和SheetB 工作表B包含一个下拉列表[Option1/2/3]和另一个单元格,该单元格根据从下拉列表中选择的选项更改其值 在SheetA中,我想列出所有选项-1、2、3及其从SheetB中引用的相应值 <Sheet B> Drop-down List Options CellX ====================== ====== Option 1/2/3 10/20/30 (depend

所以我有两张纸-SheetA和SheetB

工作表B包含一个下拉列表[Option1/2/3]和另一个单元格,该单元格根据从下拉列表中选择的选项更改其值

在SheetA中,我想列出所有选项-1、2、3及其从SheetB中引用的相应值

<Sheet B>

Drop-down List Options       CellX
======================       ======
Option 1/2/3                 10/20/30 (depending on the option chosen) 

下拉列表选项CellX
======================       ======
选项1/2/3 10/20/30(取决于所选选项)

期权价值
========    ======
1           10
2           20
3           30 
我的思考过程: 如果是SheetA!选项=1,值=b!塞尔克斯 如果是SheetA!选项=2,值=b!塞尔克斯

有没有办法自动选择下拉列表值并返回SheetA中的值?

那里

如果要在VBA中执行此操作,则需要为包含下拉列表选项的单元格触发一个事件

在VBA编辑器中,从项目树中选择图纸A并添加以下代码:

Option Explicit 
Private Sub Worksheet_Change(ByVal Target As Range)

If ThisWorkbook.Sheets("SheetA").Range("A2") = 1 Then

    ThisWorkbook.Sheets("SheetA").Range("B2") = ThisWorkbook.Sheets("SheetB").Range("B2")

ElseIf ThisWorkbook.Sheets("SheetA").Range("A2") = 2 Then

    ThisWorkbook.Sheets("SheetA").Range("B2") = ThisWorkbook.Sheets("SheetB").Range("B3")

ElseIf ThisWorkbook.Sheets("SheetA").Range("A2") = 3 Then

    ThisWorkbook.Sheets("SheetA").Range("B2") = ThisWorkbook.Sheets("SheetB").Range("B4")

End If
End If

End Sub
虽然。。。您可以在SheetA上的值列中使用如下公式:

=INDEX(SheetB!B2:B4,MATCH(A2,SheetB!A2:A4,0))

应该有一个索引可供参考。不记得它是以0为基数还是以1为基数,即第一项可能是索引0。@RonRoyston抱歉,我对VBA很陌生,您能再解释一下吗?:)
=INDEX(SheetB!B2:B4,MATCH(A2,SheetB!A2:A4,0))