A B C
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>
这个过程应该是这样的
<shift> + <ctrl> + <page down>
<ctrl>
)ActiveCell.Offset(0, 2).Select
<shift> + <ctrl> + <page down>
然后<shift> + <up arrow>
按照我的示例数据中的这些步骤,在同一行选择了224579和100007,未选择100008。
我想选择A1到A9之间的范围也是C1到C9,但我希望宏在没有定义A1和A9等范围的情况下这样做,因为范围可能会改变,就像A1会在一些改动后改为A5 。所以,我希望宏能够适应并相应地获取数字。
答案 0 :(得分:2)
如果A1是活动单元格,这应该有效。
Union(Range(ActiveCell, ActiveCell.End(xlDown)), Range(ActiveCell.Offset(0, 2), ActiveCell.End(xlDown).Offset(0, 2))).Select
答案 1 :(得分:0)
不确定,但你想要这个吗?
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
将代码粘贴到工作表代码模块中,然后在工作表上选择一个范围。