-1

我有一个命名范围,它指的是范围D3:I23,这个范围是为某些自动化目的而明确定义的。

最近我有一个更新,要求我重新定义这个范围F3:I23,最初排除列D& E。但在各种逻辑编码中,我需要包括E评估(将动态数据转换为静态数据)。

正在考虑使用Resize,但似乎不正确。也想过Offset,但这会使整个范围向前或向后移动。我基本上需要在保留原始定义范围的同时将范围调整回 1 列

本质上,我需要将命名范围定义为,F3:I23但在这一代码段中,我需要评估范围E3:I23

在 VBA 中使用的任何想法或 Range 属性的组合?在我传递引用时,它被存储在一个Range对象中,因此任何链接的属性集都是公平的游戏。

KISS请在回答时尝试应用该政策。不需要是一个过于复杂的公式,因为我不能保证是支持最终结果的人。

4

1 回答 1

4

正如 Rachel 指出的那样......这应该可以解决问题,假设您的命名范围被定义为 namedRange:

Set neededRange = namedRange.Resize(namedRange.Rows.Count, _
              namedRange.Columns.Count + 1).Offset(0, -1)

调整大小以将包含的列增加 1,然后将整个范围偏移 -1 列以获得您的neededRange.

于 2012-12-18T21:55:01.613 回答