我有一个引用范围D3:I23
的命名范围,并且这个范围是为某些自动化目的而定义的。
最近我有一个更新,要求我将此范围重新定义为F3:I23
,并最初排除列D
& E
。但是在各种逻辑编码中,我需要包含E
进行评估(将动态数据转换为静态数据)。
考虑使用Resize
,但似乎没有。也考虑Offset
,但这会使整个范围向前或向后移动。我基本上需要将范围调整回1列,同时保留原始定义的范围
本质上,我需要将命名范围定义为F3:I23
,但在这一段代码段中,我需要将范围评估为E3:I23
。
在VBA中使用的任何想法或Range属性的组合?在我传递引用时,它被存储在Range
对象中,因此任何链接的属性集都是合理的游戏。
请在回答时尝试应用KISS
政策。不需要是一个过于复杂的公式,因为我不能保证支持最终结果。
答案 0 :(得分:4)
正如Rachel所指出的......这应该是假设您的命名范围被定义为namedRange:
Set neededRange = namedRange.Resize(namedRange.Rows.Count, _
namedRange.Columns.Count + 1).Offset(0, -1)
调整大小以将包含的列增加1,然后将整个范围偏移-1列以获得neededRange
。