具有固定单元格引用的VBA自动填充公式

时间:2016-02-11 08:18:04

标签: excel vba excel-vba

我正在尝试使用vba将公式自动填充到范围中。 我想要做的是计算每个项目的百分比贡献。 说我有2个条目

  

A1 = 4

     

A2 = 6

     

A3 = A1和A2的总和= 10

我想要的是

  

B1 = A1 / $ A $ 3 = 40%

     

B2 = A2 / $ A $ 3 = 60%

但我不太确定如何找到A的最后一行并将其编码到

  

范围(“B1”)。公式=“= A1 / ?????”

任何想法都会有所帮助! 感谢

2 个答案:

答案 0 :(得分:2)

请试试这个..

Range("B1").FormulaR1C1 = "=RC[-1]/INDEX(C[-1],MATCH(1E+99,C[-1]))"

您需要通过分别从活动单元格中指定行和列号来提及带有循环引用的范围,例如 RC[-1]/R3C1

答案 1 :(得分:0)

首先找到最后一个单元格,然后求它并将公式添加到B列

  Sub Button1_Click()
        Dim LstRw As Long, rng As Range, Sm As Range

        LstRw = Cells(Rows.Count, "A").End(xlUp).Row
        Set rng = Range("A1:A" & LstRw)
        Set Sm = Cells(LstRw + 1, 1)

        Sm = Application.Sum(rng)
        rng.Offset(, 1) = "=a1/" & Sm.Address

    End Sub