使用VBA在一个单元格中插入公式

使用VBA在一个单元格中插入公式,vba,excel,excel-formula,Vba,Excel,Excel Formula,我知道这个主题已经被问过了,我试图复制如何在一个单元格中插入公式,但是,我的vba代码中出现了一个错误 这是我的密码: ws.Range("C9").Formula = "=CountIf(wsRD.Range(C & Rows.count).End(xlUp).Row, ""Event"")" 'CountIf(wsRD.Range("C" & Rows.count).End(xlUp).Row, "Event") 'count(Search("Event", wsRD.

我知道这个主题已经被问过了,我试图复制如何在一个单元格中插入公式,但是,我的vba代码中出现了一个错误

这是我的密码:

ws.Range("C9").Formula = "=CountIf(wsRD.Range(C & Rows.count).End(xlUp).Row, ""Event"")"   'CountIf(wsRD.Range("C" & Rows.count).End(xlUp).Row, "Event") 'count(Search("Event", wsRD.Range("C" & Rows.count).End(xlUp).Row, 1))
我需要在ws.Range(“C9”)中插入一个公式,其中,它总结了wsRD.Range(“C”和Rows.count).End(xlUp).Row中值为“Event”的单元格的计数。我可以知道我的代码有什么问题吗?谢谢你的帮助


谢谢。

您可以去掉
LRow
变量,如果愿意的话,只需将它放在等式中即可

Dim LRow as Long
LRow = ws.Range("C" & ws.Rows.Count).End(xlUp).Row

ws.Range("C9").Formula = "=COUNTIF(C10:C" & LRow & ", ""Event"")"

你可以去掉
LRow
变量,如果你想的话,把它放到你的等式中

Dim LRow as Long
LRow = ws.Range("C" & ws.Rows.Count).End(xlUp).Row

ws.Range("C9").Formula = "=COUNTIF(C10:C" & LRow & ", ""Event"")"

我相信这可能是正确的答案

ws.Select
LRow = ws.Range("C" & Rows.Count).End(xlUp).Row

Range("C9").FormulaLocal = "=COUNTIF(C10:C" & LRow & ";""Event"")"

基本上,我使用FormulaLocal编写公式的方法与我在Excel中编写公式的方法相同,然后,因为公式必须是一个大字符串,所以我将它分成两个字符串,将值LRow,并使用&&来连接

我相信这可能是正确的答案

ws.Select
LRow = ws.Range("C" & Rows.Count).End(xlUp).Row

Range("C9").FormulaLocal = "=COUNTIF(C10:C" & LRow & ";""Event"")"

因此,基本上,我使用FormulaLocal编写公式的方法与在Excel中编写公式的方法相同,然后,因为公式必须是一个大字符串,所以我将其分为两个字符串,将值LRow,并使用&&连接

您将vba语法与Excel语法相结合。当您在引号内时,使用excel语法是否要计算从
C10
到最后一行的
Event
的每个实例?是的,我需要计算从C10到最后一行的每个事件实例您正在将vba语法与excel语法相结合。当您在引号内时,使用excel语法是否要计算从
C10
到最后一行的
Event
的每个实例?是的,我需要计算从C10到最后一行的每个事件实例我使用的是您使用的
ws
的相同实例。不确定
LRow
是否应该查看
ws
wsRD
,因为您只显示了一行代码。我相信您可以将上述内容应用到您的代码中,因为我使用的是不同的工作表。在我的示例中,ws-sheet是用来放置事件计数的值。而wsRD工作表是所有数据所在的位置。我需要计算wsRD表中的事件。只要更改该部分,我就可以使用与您使用的
ws
相同的实例。不确定
LRow
是否应该查看
ws
wsRD
,因为您只显示了一行代码。我相信您可以将上述内容应用到您的代码中,因为我使用的是不同的工作表。在我的示例中,ws-sheet是用来放置事件计数的值。而wsRD工作表是所有数据所在的位置。我需要在wsRD表中计算事件的数量。我们只需改变这一部分,我认为这是最好的答案。公式化解决了我的问题!我认为这是最好的答案。公式化解决了我的问题!