VBA Excel。根据命名单元格的偏移量编辑范围

VBA Excel. Edit a range based on an offset from a named cell

不知道可不可以,但感觉应该可以。

我有一个定义了名称的单元格:"Data_A"(它是一个单元格,即 1x1 范围)。

我想将一个数组 (N x M) 写入它附近的单元格(即横跨 i 列,向下 j 行)。

我知道如何将数组写入命名范围(如果它们的维度相同),并且我知道如何偏移范围。

在这种情况下,我会执行以下操作:

'"Data_A" refers to a named range of cells that is 2x3 in size.
'"wks_datainput" is the worksheet that Data_A sits in.
Dim Outputs() as Double: Redim Outputs(1 to 2, 1 to 3)
wks_datainput.Range("Data_A").Offset(6,7).value = Outputs

我的问题是:如果 "Data_A" 指的是 1x1 的命名范围怎么办?如果 "Data_A" 的尺寸与 "Outputs" 的尺寸不匹配,我该如何写入附近的单元格?

第二个问题 - 如何清除这些单元格(不使用循环)?

 wks_datainput.Range("Data_A").Offset(6,7).ClearContents

我是这么想的。 Resize 很有用。

Dim Outputs() As Double: ReDim Outputs(2, 3)
Range("Data_A").Offset(6, 7).Resize(UBound(Outputs, 1), UBound(Outputs, 2)).Value = Outputs