将范围复制到不同工作表中的命名范围

Copy Range to Named Range in different Sheets

我有一个名为 "Capacities" 的命名范围,它指的是 Sheet "Model" 和 Range("I13:I15")

现在在下面的宏中我有范围 "ScnCap"

现在在最后所有被注释掉的似乎都不起作用

尽管目标很简单,但我只想将命名范围("Capacities") 分配给在宏中生成的范围("ScnCap")。

知道我哪里错了吗?

Dim wm, ws, wr As Worksheet
Dim i, j, l, m As Long
Dim char As Variant
Dim ScnCap As Range

Set wm = Sheets("Model")
Set ws = Sheets("Scenarios")
Set wr = Sheets("Results")

For i = 1 To 5

With ws
 j = i + 1
 .Cells(7, j).Select
  Set ScnCap = .Range(.Cells(5, j), .Cells(7, j))
 End With



' ws.Range("ScnCap").Value.Copy wm.Range("Capacities")
'wm.Range("Capacities") = ws.Range("ScnCap").Value
'
'Range("ScnCap").Copy
'Range("Capacities").PasteSpecial xlPasteValues

  Next i

ScnCap已经是一个set range对象,所以不需要再对它使用Range()方法。

这会起作用:

wm.[capacities] = ScnCap.Value