插入带有Variable VBA的公式

时间:2017-03-03 05:02:51

标签: excel vba excel-vba excel-formula

我正在尝试在Sheet2的C列中插入公式。但行号取决于pasterow的值。公式中的范围应为G [lastrow]:NS [lastrow]与lastrow属于Sheet1的最后一行。

这是我的代码:

Sub try()

With Sheets("Sheet2")

pasterow = .Cells(.rows.Count, "B").End(xlUp).Offset(1, 0).Row

With Sheets("Sheet1")
    lastRow = ActiveWorkbook.Worksheets("Sheet1").Range("F" & .rows.Count).End(xlUp).Row

    ActiveWorkbook.Worksheets("Sheet2").Range("C" & pasterow).formula = _
    "=COUNTIF(Sheet1!G & lastRow & :NS & lastRow & , ""VL"" )"

End With
End With

End Sub

如果有人能指出我的代码有什么问题,我真的很感激。谢谢!

3 个答案:

答案 0 :(得分:1)

VBA变量位于公式字符串中。比较:

ActiveWorkbook.Worksheets("Sheet2").Range("C" & pasterow).formula = "=COUNTIF(Sheet1!G" & lastrow & ":NS" & lastrow & ", ""VL"" )"

答案 1 :(得分:0)

试试这个..

ActiveWorkbook.Worksheets("Sheet2").Range("C" & pasterow).FormulaR1C1 = "=COUNTIF(Sheet1!C[4]:C[380],""VL"")"

可能这是你期望实现的目标!

 ActiveWorkbook.Worksheets("Sheet2").Range("C" & pasterow).Value = "=COUNTIF(Sheet1!G" & lastRow & ":NS" & lastRow & ", ""VL"" )"

答案 2 :(得分:0)

尝试:

ActiveWorkbook.Worksheets("Sheet2").Range("C" & pasterow).formula = _  
"=COUNTIF(Sheet1!R" & lastrow & "C7:R" & lastrow & "C383,""VL"")"