楼主 DJ_Soo |
昨天下午为此问题搜了N久网页,其实初衷是为了将一段话显示在新建的worksheet中最中间的位置(我的电脑是竖屏显示,但写的代码是给别人用),但如此就必须获得当前屏幕中能看到的第一行和最后一行以此判断中间的那个行标,列亦如此. 今天一早想到昨天的问题还是想找到方法,昨天全是搜索没有自己动手,今天自己动手试试. 随便建了一个过程:
不得不说我这个人还是很背的,我列出三种可能,答案就一定不会在第一第二种可能中出现!o(╯□╰)o 此间我尝试过scrollrow,activepane等,都不是我想找的总高度和总宽度貌似也可以求得,但都不是我想要的(虽然新建的窗口中可以平均换算) 终于看到了这个: 从类型中可以看到这是个range类型,那么既然是可见的range,应该是从这里可以找到答案.看看其中包含的各种属性: 这样找到了Column对应的列标,同样也可以找到行标Row 把屏幕往下拉到可见区域为第一行行标26,测试了一下,得到Window.VisibleRange.Row结果为26,再尝试用Window.VisibleRange.Rows.Count得到可见区域一共46行,那么可以得到最下面的行标为26+46-1=71,对照正确! 总结结果为:
|
2楼 0Mouse |
值得一提的是,虽然VisibleRange字面上看是“可视区域”,但是在冻结窗格后,貌似它并不受隐藏行、列的影响,而与滚动条的位置密切相关,举例如下: 代码:
情况2: 情况3: 附件: visible附件.rar |