我在理解一些 VBA 代码时遇到一些困难。我没有问题
activecell.offset(1,1).select
但是,我有问题
activecell.offset(1,1).range("A1").select
AND
ActiveCell.Offset(0, 3).Columns("A:A").EntireColumn.Select
为什么那里有一个 .range("A1") ?为什么那里有一个.columns?我读过一些其他帖子说这些东西没有必要。但我使用相同的格式编写了一些代码,用其他一些范围替换 .range("A1") 并产生了不同的结果。你能给我解释一下这些事情吗?我的意思是偏移后的 .range("A1") 。我从其他人那里继承了试图理解的代码。
当您录制宏时,您通常会发现 Excel 添加了 .range("A1") 部分,即使您只选择一个单元格。本质上“A1”是指 .activecell.offset 位置左上角的单元格。因此,如果您将其更改为:
ActiveCell.Offset(0, 1).Range("A1:A3").Select
活动单元格将成为距起始单元格 0 行 +1 列的单元格,然后选择大小为 1 列和 3 行的区域,但这里 A 列和第 3 行是对 activecell.offset 位置的相对引用,而不是而非参考工作表 A 列第 1-3 行。尝试一下“A1:A3”就明白我的意思了。
代码可能更简单,只需说
ActiveCell.Offset(0, 1).Select
这将是完全有效的,但此代码不允许您选择多个单元格。为此,您需要使用 RANGE。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)