VBA:如何以编程方式创建指定的范围,指向以编程方式创建的表



这个问题似乎也包含了正确的答案,Excel因为一些不可思议的原因不会正确执行它。所以问题改变了一点:

为什么是1004年?

基本上我想用这样的东西(这给我1004):

Dim rngTmp As Range
For Each offer In SanitizedConstInfo("offers").keys()
    Set rngTmp = Sheets(offer).Range(Cells(1, 1), Cells(2, 2))
    ActiveWorkbook.Names.add name:=offer, RefersToR1C1:=rngTmp
    ActiveWorkbook.Names(offer).RefersToRange.Cells(1, 1) = offer
Next offer

要约是字符串包含一些名称(是的,我想有两个表和命名范围具有相同的名称-至少现在)。会有未知的数目,所以我只循环for each

Q:如何在RefersToR1C1中添加板材信息,使命名范围指某一板材?(我知道"Sheetname"!A1:A10语法,但如果可能的话,想要使用工作表/区域/单元格对象)

这是因为你没有完全限定你的范围,你需要明确:

With Sheets(offer)
    Set rngTmp = .Range(.Cells(1, 1), .Cells(2, 2))
End With

单元格前的点很重要

相关内容

  • 没有找到相关文章

最新更新