Excel公式在冻结窗格中引用右侧的单元格
我通常可以通过Googlesearchfind所有我需要的答案。 这一个让我难住了; 也许这是不可能的。
我的工作表是以B5作为第一个解冻的单元格。 如何在单元格A3中input指向当前右上窗格中显示的第一个单元格的公式? 所以在工作表的初始状态下,A3会引用B3,但是如果我向右滚动了10行,那么A3就会引用K3。
Excel使用公式中的单元格引用。 滚动时单元格引用不会更改。 您需要使用VBA来确定窗格的左上方单元格。 这个单元格的值可以写入一个辅助单元格,并且可以在冻结窗格的公式中引用该辅助单元格。
VBA将作为select更改事件运行,即当用户单击其他单元格或使用键盘进行导航时。 它不适用于滚动鼠标滚轮,因为这不是Excel对象模型中的事件。 (Chip Pearson 在这里有一些代码)。
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
该函数将窗格左上angular的单元格引用到A3中。 将其更改为包含公式,或者将其写入不同的单元格,并让公式引用该单元格。