VBA动态名称范围

时间:2016-03-28 10:51:58

标签: excel vba excel-vba

我有一个小/复杂的问题,但我无法理解为什么我会收到此错误。

在vba代码中我有这个:

ws = Sheets("Calendar") 
c = "Fixed"   
first = ce.Address
end = ce2.Address    
wb.Names.Add Name:=c, RefersTo:=ws.Name & "!" & first & ":" & end

公式创建一个像这样的命名范围:

="Calendar!$M$2:$M$4"

此命名范围不显示任何值,但如果我手动更改此命名范围:

=Calendar!$M$2:$M$4

它会起作用。

问题出在哪里?为什么配方不起作用?哪个参数错了?

由于

1 个答案:

答案 0 :(得分:1)

  1. end不是一个好的变量名称
  2. ws是一个对象,因此应该使用Set来分配它
  3. 公式前面需要“=”
  4. Set ws = Sheets("Calendar") c = "Fixed" first = ce.Address end1 = ce2.Address wb.Names.Add Name:=c, RefersTo:="=" & ws.Name & "!" & first & ":" & end1