【转载】EXCEL VBA 中的Range.offset和Range.resize
在Excel VBA中range.offset和range.resize均可以重新选择区域,但range.offset表示偏移且偏移后尺寸不改变,range.resize则会根据输入的行数和列数重新定义区域。
一、range.offset(偏移行,偏移列)
偏移行和列若为正则向下和向右偏移,若为负数则表示向上和向左偏移,若为零则表示不偏移。
示例如下:range.offset(1,1)表示向下和向右移动一个单元格。
二、range.resize(行数,列数),返回调整后的区域大小
不同于range.offset中的偏移行和便宜列可为正或负或0,resize中的行数和列数只能为正数,否则会出错
range.resize(2,3)表示向下两行,向右三行。
请看以下例子:
Sub a()
[A1].Resize(2, 1).Select
End Sub
该代码表示选择A1:A2,包含两行一列2个单元格,表示以A1为基准,重置两行一列,即选择A1:A2区域。
Sub Y()
Range("B1:C2").Resize(3, 4).Select
End Sub
这个例子代码是表示选择B1:E3,包含三行四列共12个单元格。该区域是以B1为基准,重置三行四列的区域。
Sub R2()
[B1:C2].Resize(1).Select
End Sub
代码代表是选择B1:C1区域,将原区域两行重置为一行,而列数保持不变。而对于有小数的行列,会进行四舍五入。
Sub ae()
[B1:C2].Resize(2.5, 2.4).Select
End Sub
该代码是选择B1:C2区域,是以B1为基准,重置2行2列。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· 博客园 & 1Panel 联合终身会员上线
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· https证书一键自动续期,帮你解放90天限制
· 在 ASP.NET Core WebAPI如何实现版本控制?
· 告别虚拟机!WSL2安装配置教程!!!