使用嵌入变量引用范围

时间:2017-03-30 13:54:34

标签: vba excel-vba excel

我在使用for循环引用多个范围时遇到问题。 我使用标准化名称(例如range_ [number])创建了一组范围。 不幸的是,当我试图引用它们时,我经常会出现错误或空位。

Sub add_new_country()

'count initial number of countries
n = WorksheetFunction.CountA(Range("countries_list"))
'name of last country
last_country = Range("countries_list").Cells(n).Value

range_1 = ActiveWorkbook.Sheets("Countries").Columns(5).Cells
range_2 = ActiveWorkbook.Sheets("Operations").Columns(2).Cells

On Error Resume Next

For i = 1 To 2
    Set active_range = Range("range_" & i)
    For Each c In active_range
        If c.Value = last_country Then
            c.Offset(1).EntireRow.Insert
            c.EntireRow.Cells.Copy
            c.Offset(1).EntireRow.Cells.PasteSpecial Paste:=xlPasteFormats
            c.Offset(1).EntireRow.Cells.PasteSpecial Paste:=xlPasteFormulas
            c.Offset(1).EntireRow.SpecialCells(xlCellTypeConstants).ClearContents
        End If
    Next c
Next i

End Sub

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

你不能像你想要的那样推荐

更好地使用范围数组

Integer.parseInt("52", 10) returns 52
Integer.parseInt("52", 8) returns the numerical value 42 (8*5+2)
Integer.parseInt("A2", 16) returns the base 10 value 162