根据单元格A1的值从单独的书中提取数据

时间:2015-08-18 20:45:09

标签: vba

我有两个工作簿,我正在尝试根据Book2 Book1 A1的{​​{1}}将Sheet1中的数据提取到Book1 }。 Book2中有40个不同的工作表,但所有数据的格式相同,因此单元格定位相同。

所以我希望能够在"sheet6"中输入A1并从Book2中提取相关数据。理想情况下,我希望将此单元格引用到我的代码中。

如果您可以使用两本书的基本示例以及嵌入单元格A1的几张表格来显示代码,那将非常棒。

1 个答案:

答案 0 :(得分:0)

要根据更改单元格的值运行代码,请使用Worksheet_Change()事件。测试是否已更改A1 Book2。如果是,请将其值用作A1中的工作表名称。

以下是执行此操作的示例,并返回指定工作表Book2A2的值,并将其Book1放入{{1}的活动工作表中}}:

' In Book1, Sheet1
Private Sub Worksheet_Change(ByVal Target As Range)

    ' Was A1 changed?
    If Target.Address = Range("A1").Address Then

        ' Yes. Get the sheet name that was entered...
        Dim strSheet As String
        strSheet = Target.Text

        ' Using that sheet name, return a value from Book2...
        Range("A2") = Workbooks("Book2.xlsx").Sheets(strSheet).Range("A1")

    End If

End Sub