Excel 如何从下拉列表中自动选择值?
所以我有两张纸-SheetA和SheetB 工作表B包含一个下拉列表[Option1/2/3]和另一个单元格,该单元格根据从下拉列表中选择的选项更改其值 在SheetA中,我想列出所有选项-1、2、3及其从SheetB中引用的相应值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
<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))