如何合并Excel中VBA中的不连续select(使用Ctrl时)
我试图用我的代码检索一些单元格地址。 但是,由于select是不连续的,似乎是这样的。细胞不能很好地工作。
正如你在截图中看到的那样,我要求用户select两行,select的是黄色区域(行号7和9)
当input我的代码时:
Sub test() Dim rangeselected As range Set rangeselected = Application.InputBox("Select the quarters range", "Obtain Range Object", Type:=8) Debug.Print rangeselected .Cells(1, 1).Address Debug.Print rangeselected .Cells(2, 1).Address End Sub
我以为我将作为结果debug.print命令:E7&E9,而是我得到E7&E8
我不明白为什么我会得到第一个好的结果,而不是第二个。
我知道,为了获得好的结果,我应该写:
Debug.Print rangeselected .Cells(3, 1).Address
但是我能做些什么来让行在范围selectvariables中相互“跟随”?
因为在select中只有两行,所以我有点困惑。 我希望我的问题很清楚,先谢谢你的时间。
范围对象的Cells(r, c)
属性的作用非常简单,从范围的开始处偏移r ans。 你甚至可以给偏移超出范围!
显然,这不足以遍历Multi-area range
。 那么,解决scheme是遍历Multi-area range
的.areas
。
Dim rangeselected As range Set rangeselected = Application.InputBox("Select the quarters range", "Obtain Range Object", Type:=8) For each area in rangeselected.Areas For each cel in area.Cells '<-- could be also area.Rows, area.Columns... Next cel Next area