2014-11-20 63 views
0

嗨,伙计们只是快速的问题。我正在尝试在VBA excel中执行Counta/Countif公式。我正在使用的代码如下。VBA CountA/countif加

Sub To_open 
    Dim x as Range 
    x =COUNTA('Tier 2'!C2:C1000)+COUNTA('Tier 3'!C2:C1000)+COUNTA('Tier 4'!C2:C1000)+COUNTA('Tier 5'!C2:C1000) 

    If x = 0 then 
    msgbox " No impact " 
    End If 
End sub 

该代码是假设计数和coloumn下与值添加的行中,在所述4片并且如果它等于零然后显示消息框。

+0

凡我已经把 “X =”,计算公式为Excel公式。我正试图将其转换为VBA语言。 – kay 2014-11-20 19:01:46

回答

2

一种方法是使用评估功能:

Sub To_open() 
    Dim n    As Long 

    n = Evaluate("COUNTA('Tier 2'!C2:C1000) + " & _ 
       "COUNTA('Tier 3'!C2:C1000) + " & _ 
       "COUNTA('Tier 4'!C2:C1000) + " & _ 
       "COUNTA('Tier 5'!C2:C1000)") 
    MsgBox n 
End Sub 
+0

完美谢谢:) – kay 2014-11-20 19:06:56

1

尝试这样做

x =Application.WorksheetFunction.COUNTA('Tier 2'!C2:C1000)+COUNTA('Tier 3'!C2:C1000)+COUNTA('Tier 4'!C2:C1000)+COUNTA('Tier 5'!C2:C1000))