用variablesVBA插入公式

我试图在Sheet2的列C中插入一个公式。 行号取决于pasterow的值。 公式中的范围应该是G [lastrow]:NS [拉斯特罗]与拉斯特罗有关的最后一行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 

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

VBAvariables在您的公式string中。 比较:

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

尝试这个..

 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"" )" 

试试:

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