使用固定列引用的内容dynamic更新单个单元格,但从当前的活动行更新单个单元格

我想在Excel中有一个特定的标题单元格dynamic更新其内容取决于我目前正在使用哪一行,但有一个固定的列的地址。 因此,标题内容的列引用将始终是相同的,但是,我希望行地址更改取决于我正在编辑的单元格(即活动单元格)。

AB 1 (dynamic header cell) 2 John likes to eat apples 3 Mary never smokes 4 Peter tries too hard to be cool 5 David loves madonna 

所以,如果我点击单元格A2(“John”),我希望标题单元格(A1)更新B2的内容(“喜欢吃苹果”),同样如果我点击单元格A4(“彼得” ),我想要相同的标题单元格(A1)更新与B4的内容(“尝试太酷了”)。

我已经做了一些研究,我想也许我可以使用单元函数或间接函数的一些组合,但是我无法设法使这个工作。 我宁愿使用一个简单的公式,但如果我需要做VBA,那很好。

(如果你build议使用VBA,请包括整个function,因为我不知道这个语言)。

谁能帮忙?

正如Scott Craner所build议的那样,您需要VBA中的“Worksheet_SelectionChange”事件。 既然你表示不熟悉VBA,我会通过它来说明你的。 首先,通过inputAlt + F11打开VBA编辑器。 在VBA编辑器中,inputCtrl + R打开或跳转到项目资源pipe理器(通常是窗口左侧的窗格),然后双击需要函数的工作表名称。 现在input下面的代码:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not(Intersect(ActiveCell, Range("A:A")) Is Nothing) Then Cells(1, 1).Value = Cells(Selection.Row, 2) End If End Sub 

第一行告诉VBA它应该在select改变时执行代码。 第二行检查你的select是否在列A中。第三行实际上是这样做的:它从所选行的第二列取得值,并把这个值放在A1中。