如何根据另一张纸中的数据替换自动填充范围

时间:2018-09-13 04:24:12

标签: excel vba

请帮助我将自动填充范围代码替换为可解决表RPdata列中差异的代码。可以看到,对于A,当前将范围设置为A2:A520,我尝试构建一个自动范围以解决所有差异,但这是行不通的(编译错误)。

   Sheets("Calc Data").Select

        Range("A2").FormulaR1C1 = _
            "=CONCATENATE(RPdata[@[Parish Code]]&"", ""&RPdata[@Parish])"
        Range("A2").AutoFill Destination:=Range("A2:A520"), Type:=xlFillDefaul

        Range("B2").FormulaR1C1 = "=RPdata[@[Building ID 1]]"
        Range("B2").AutoFill Destination:=Range("RPdata[@[Building ID1]]" & Rows.Count).End(1xUp).Row)

1 个答案:

答案 0 :(得分:0)

使用表格的行数来确定目标范围。

dim rws as long

with workSheets("Calc Data")

    rws = .listobjects("RPdata").databodyrange.rows.count

    .cells(2, "A").resize(rws, 1).FormulaR1C1 = _
        "=CONCATENATE(RPdata[@[Parish Code]]&"", ""&RPdata[@Parish])"
    .cells(2, "B").resize(rws, 1).FormulaR1C1 = _
        "=RPdata[@[Building ID 1]]"

end with