Excel公式在冻结窗格中指向右侧的单元格

时间:2014-10-12 14:32:24

标签: excel excel-formula formula

我通常可以通过Google搜索找到所需的所有答案。这个让我难过;也许这是不可能的。

我的工作表设置为B5作为其第一个未冻结的单元格。如何在单元格A3中输入引用右上窗格中当前显示的第一个单元格的公式?因此,在工作表的初始状态中,A3将引用B3,但如果我向右滚动10行,则A3将引用K3。

1 个答案:

答案 0 :(得分:2)

Excel在公式中使用单元格引用。滚动时单元格引用不会更改。您需要VBA来确定窗格的左上角单元格。可以将此单元格值写入辅助单元格,您可以在冻结窗格中的公式中引用该辅助单元格。

VBA将作为选择更改事件运行,即当用户单击其他单元格或使用键盘进行导航时。使用鼠标滚轮滚动不起作用,因为这不是Excel对象模型中的事件。 (但是,Chip Pearson有一些代码,here)。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer, pane As Integer
Dim PaneTop As String

pane = ActiveWindow.Panes.Count
PaneTop = ActiveWindow.Panes(pane).VisibleRange.Address
i = InStr(PaneTop, ":")
PaneTop = Left(PaneTop, i - 1)

Range("A3").Formula = "=" & PaneTop

End Sub

此函数将窗格左上角单元格的单元格引用放入A3。将其更改为包含您的公式,或将其写入不同的单元格,并让您的公式引用该单元格。