我是VBA的新手,我正试图在不同的范围内循环。我的目标是为多个范围添加一个额外的名称,以便对它们进行预先计算。
我设置了映射表,其中一列是旧名称,另一列是新名称。我的计划是在映射表上执行vlookup以获取新名称,并在结果中添加名称。
这是我的代码,我得到的错误是'应用程序定义或对象定义错误'
Sub RenameColsUsingMap()
Dim rnge As String
For nm = 1 To 52
rnge = Cells(3, nm).Value
If rnge <> "" Then
ActiveWorkbook.names.Add _
Name:=WorksheetFunction.VLookup(rnge _
, Worksheets("mapPlaceholder").Range("B2:C1000") _
, 2 _
, False) _
, RefersToR1C1:=Worksheets("701421").Range(rnge)
'Worksheets("701421").Range(rnge).Select
End If
Next nm
End Sub
通过调试,我已经得出结论,错误就在这一行
RefersToR1C1:=Worksheets("701421").Range(rnge)
意味着成功执行此代码应足以解决第一批问题(简化)
Sub RenameColsUsingMap()
Dim rnge As String
For nm = 1 To 52
rnge = Cells(3, nm).Value
If rnge <> "" Then
Worksheets("701421").Range(rnge).Select
End If
Next nm
End Sub
有人看到这个有什么问题吗?