首页 > 解决方案 > 获取“冻结窗格”列右侧可见的第一列的列号?

问题描述

如果可能,我试图通过公式而不是 VBA 找出哪一列是“冻结窗格”列右侧的第一个可见列 - 即:它尚未在冻结列“下方”滚动。滚动的下方在技术上不是“隐藏”或“过滤”,因此我无法查找第一个未隐藏的列。是否有某种方法可以识别列是否已在冻结列下方/之后滚动或仍然可见?作为最后的手段 - 它可以被 VBA 识别吗?拖网 - 还没有运气。提前致谢。

标签: excel-formula

解决方案


好的,明白了。尝试这个:

Sub visible()

Dim a As Range, f As Range
Dim b As Integer, c As Integer

Set a = Excel.ActiveWindow.VisibleRange
b = a.Columns.Count                     'number of columns shown on screen
c = a.Columns(a.Columns.Count).Column   'column number of last column on screen

ActiveCell = Cells(ActiveCell.Row, c - b + 1).Address

End Sub

这将为您提供活动单元格同一行中第一列的列字母 + 行号。希望这会有所帮助。


推荐阅读