使用Excelmacros的范围select
ABC 123455 XXX 99999 123456 XX 100000 123457 XXX 100001 174564 XXXX 100002 184567 100003 194570 100004 204573 100005 214576 100006 224579 100007 100008
我想用<ctrl> + <down arrow>
编写一个用于select范围的macros
这个过程应该是这样的
- select单元格A1
- 用
<shift> + <ctrl> + <page down>
select一个范围 - 在不取消范围select的情况下对单元格A1进行曝光(使用
<ctrl>
) -
ActiveCell.Offset(0, 2).Select
- 然后通过
<shift> + <ctrl> + <page down>
然后<shift> + <up arrow>
从C1到C9进行范围select。
在我的示例数据中执行这些步骤之后,在同一行中select了224579和100007,未select100008。
我想要selectA1到A9之间的范围,也是C1到C9,但是我希望macros没有像A1和A9那样定义一个范围,因为范围可能会改变,就像A1在一些改动之后会变成A5一样。 所以,我想让macros适应并相应地获取数字。
这应该工作,如果A1是活动单元格。
Union(Range(ActiveCell, ActiveCell.End(xlDown)), Range(ActiveCell.Offset(0, 2), ActiveCell.End(xlDown).Offset(0, 2))).Select
不确定,但是你想要这个吗?
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static self_protect As Boolean If self_protect Then Exit Sub self_protect = True Set Target = Target.Areas(1) Application.Union(Target, Target.Offset(0, 2)).Select self_protect = False End Sub
将代码粘贴到工作表代码模块中,然后在工作表上select一个范围。