循环遍历vba中的不同范围

时间:2017-09-05 15:18:54

标签: vba loops range names

我是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

有人看到这个有什么问题吗?

0 个答案:

没有答案