如何构建公式以在VBA中包含通配符

时间:2018-02-09 03:57:04

标签: excel-vba excel-formula wildcard vba excel

我一直在研究Excel宏来根据从TFS集成中获得的数据来计算性能指标。我已经到了一个点,我试图计算一些事件的发生。根据我的参数,有时它会在找到某些特定文本时像计数一样简单,但有时我必须在单元格包含某些文本字符串时进行计数。

到目前为止,我知道我可以通过在代码上构建它来使用COUNTIFS公式,然后将其分配给任何单元格。我在构建公式字符串时遇到错误,我尝试获取包含文本的字符串。我有条件分配这个值,如下所示:

If rowNumber = x Then
    myString = "Found text"
ElseIf rowNumber = y Then
    myString = "*contained*"
End If

formula = "=SUM(COUNTIFS(Range1, Condition1, Range2, " & myString
If moreParameters Then
    formula = formula & ",Range3, Condition3))"
Else
    formula = formula & "))"
End If

Cells(i,j).Select
ActiveCell.FormulaR1C1 = formula

因此,当找到特定文本时(case rowNumber = x),它工作正常,但是当我尝试使用通配符时,它不会将引号理解为字符串的一部分。我尝试用双引号:

ElseIf rowNumber = y Then
    myString = ""*contained*""
End If

然后它抛出编译错误(预期:语句结束),并且还使用CHR(34),但没有成功。为什么我可以包含表达式以使用公式字符串中的通配符以便以后使用?

0 个答案:

没有答案