通过单击单元格将值从工作簿的一个工作表传输到另一个工作簿

时间:2011-07-17 00:22:32

标签: excel

我在一张Excel工作簿(部件号)中包含5,000个部件号,范围从单元格A1:A5000。我想找到一种方法来点击这些零件编号中的任何一个,并让它自动填充到同一工作簿(价目表)的另一张纸上的单元格D7中。完成此任务的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

要这样做,您必须编写VBA代码来捕获每个SheetSelectionChange事件,以查看新选择范围是否在您的单元格A1:A5000中。如果是,则执行VBA代码以填充OtherSheet!D7。

如果我没记错的话,执行此操作的VBA代码将如下所示:

Private Sub WorkSheet_SelectionChange(ByVal Target As Range)

    'Check if it is in the range A1:A5000
    If Target.Column = 1 And Target.Row <= 5000 Then
        'get the target worksheet
        Dim TargetWS As Worksheet
        Set TargetWS = Sheets("OtherSheetsName")

        'copy the value of the just selected cell to D7 on the target WS
        TargetWS.Cells(7, 4).Value = Target.Value
    End If

End Sub

(哎呀,忘了在VBA中需要“SET”。)

答案 1 :(得分:0)

你可以在没有VBA的情况下做到这一点:
选择部件号A1:A5000并在名称框中键入PartNumbers(在公式栏的左侧)并按回车键(当您选择a1时,OartNumbers现在应在名称框中可见:a5000

现在转到价格表上的单元格D7,并使用数据验证 - &gt;列表并在源框中输入= PartNumbers

现在,您可以从单元格D7的下拉列表中选择5000个零件编号中的任何一个