首页 > 解决方案 > 将范围缩小特定数量的单元格

问题描述

我想选择从活动单元格开始到下一个非空白单元格但在底部之前停止三个单元格的范围。

如果我使用键盘序列 Shift-End、Shift-Down、Shift-Up、Shift-Up、Shift-Up 录制宏,则录制的 VBA 是

Range(Selection, Selection.End(xlDown)).Select
ActiveCell.Range("A1:A32").Select

问题是范围的长度是硬编码的。

如果我尝试

Range(Selection, Selection.End(xlDown)).Select
Selection.Resize(numRows - 3, numColumns).Select

VBA 在 Resize 行抛出“应用程序定义的或对象定义的错误”(运行时错误 '1004')。

标签: excelvba

解决方案


请尝试这种方式:

Range(Selection, Selection.End(xlDown).Offset(-3)).Select

推荐阅读