所以我有两张纸-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)
<Sheet A>
Options Value
======== ======
1 10
2 20
3 30
我的思考过程: 如果SheetA!Options = 1,则Value = SheetB!CellX 如果SheetA!Options = 2,则值= SheetB!CellX
有什么方法可以自动选择下拉列表值并在SheetA中返回值?
答案 0 :(得分:0)
有...
如果要在VBA中执行此操作,则需要为包含下拉列表选项的单元格触发一个事件。
在VBA编辑器中,从项目树中选择SheetA并添加以下代码:
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))