VBA中带“的SUMIFS公式<&引用;

VBA中带“的SUMIFS公式<&引用;,vba,excel,sumifs,Vba,Excel,Sumifs,请告诉我,我使用的第二个SUMIFS公式有什么问题。返回的所有内容在所有单元格中都是FALSE。没有

请告诉我,我使用的第二个
SUMIFS
公式有什么问题。返回的所有内容在所有单元格中都是FALSE。没有<的最后一个SUMIFS工作正常

Sub SumGroups()

Worksheets("Database").Activate
Dim lastCode, lastFiltCode As Integer
Dim Formula As String

'Determine Last Row in Column O (Unfiltered Codes)
lastCode = Range("O" & Rows.Count).End(xlUp).Row

'Filter Unique Codes into Column A Sheet2
Range("O1:O" & lastCode).AdvancedFilter Action:=xlFilterCopy, _
      CopyToRange:=Sheet2.Range("A1"), Unique:=True
'Determine last Row in Column A (Filtered Codes)
Worksheets("Sheet2").Activate
lastFiltCode = Sheet2.Range("A" & Rows.Count).End(xlUp).Row

'Place SUMIF Formulas in Columns Sheet2    
Worksheets("Sheet2").Range("B2:B" & lastFiltCode).Formula = _
"=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2)"
Worksheets("Sheet2").Range("D2:D" & lastFiltCode).Formula = _
"=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2,Database!$I$2:$I$" & lastCode & "," < " &$F$1)"
 Worksheets("Sheet2").Range("F2:F" & lastFiltCode).Formula = _
"=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2,Database!$I$2:$I$" & lastCode & ",$F$1)"

End Sub
Sub-SumGroups()
工作表(“数据库”)。激活
Dim lastCode,lastFiltCode为整数
作为字符串的Dim公式
'确定O列中的最后一行(未过滤代码)
lastCode=Range(“O”和Rows.Count).End(xlUp).Row
'将唯一代码过滤到A列表格2中
范围(“O1:O”和lastCode)。高级筛选器操作:=xlFilterCopy_
CopyToRange:=Sheet2.范围(“A1”),唯一性:=True
'确定A列中的最后一行(过滤代码)
工作表(“表2”)。激活
lastFiltCode=Sheet2.Range(“A”和Rows.Count).End(xlUp).Row
'将SUMIF公式放在第2列中
工作表(“Sheet2”)。范围(“B2:B”和lastFiltCode)。公式=_
=SUMIFS(数据库!$M$2:$M$”&lastCode&“,数据库!$O$2:$O$”&lastCode&“,A2)”
工作表(“Sheet2”)。范围(“D2:D”和lastFiltCode)。公式=_
“=SUMIFS(数据库!$M$2:$M$”&lastCode&“,数据库!$O$2:$O$”&lastCode&“,A2,数据库!$I$2:$I$”&lastCode&“,”<“&F$1)”
工作表(“Sheet2”)。范围(“F2:F”和lastFiltCode)。公式=_
“=SUMIFS(数据库!$M$2:$M$”&lastCode&“,数据库!$O$2:$O$”&lastCode&“,A2,数据库!$I$2:$I$”&lastCode&“,$F$1)”
端接头
工作表(“Sheet2”)。范围(“D2:D”和lastFiltCode)。公式=_
“=SUMIFS(数据库!$M$2:$M$”&lastCode&“,数据库!$O$2:$O$”&lastCode&“,A2,数据库!$I$2:$I$”&lastCode&“,”“<”“&F$1)”
这就行了。
把<放在引号里

首先,为了得到
,只是为了澄清其他答案的作用:

SumIfs(以及需要字符串运算符(如CountIf)的各种其他Excel函数)要求逻辑运算符及其以下语句以字符串形式表示。例如,应将其括在语音标记中,例如“myString”

由于公式也是字符串,例如
ActiveCell.formula=“=If(A1=3,1,0)”
编译器会对哪一组引号表示字符串感到困惑。例如,这将不起作用:
ActiveCell.formula=“=If(A1=3,“Yes”,“No”)”

从技术上讲,处理这个问题的方法是将所需的引号括在它自己的引号中;
“myValue”


但是,这很快就会变得令人困惑。相反,请使用该函数返回所需的字符。在本例中,34;
chr(34)&myvalue&(chr34)

除此之外,还有许多不必要的
Select
Activate
范围$I$2:$I$是日期,单元格$F$1是日期,您好,当我尝试<$F$1时)我收到运行时错误“1004”:应用程序定义或对象定义错误。谢谢你的时间。谢谢。谢谢你的双引号工作!奥马尔先生,您是一位学者,也是一位绅士/女士。谢谢您的提示Rado@Anthony你可能想把你在这里得到的答案之一(和/或投票)标记为“答案”。嗨,Shai Rado,我是这个网站的新成员。我点击了箭头。希望我做了正确的事情。那就是向上投票,要标记为“答案”,你需要点击其中一个答案旁边的V(你会看到V变成绿色),这也会提高你的分数+2点击V。希望一切都好。感谢您的帮助。很好的解释,这就是为什么我喜欢使用
Chr(34)
而不是计算我有多少
Worksheets("Sheet2").Range("D2:D" & lastFiltCode).Formula = _
"=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode &      ",A2,Database!$I$2:$I$" & lastCode & ","" < "" &$F$1)"
Option Explicit

Sub SumGroups()

Dim lastCode As Long, lastFiltCode As Long

'Determine Last Row in Column O (Unfiltered Codes)
With Worksheets("Database")
    lastCode = .Range("O" & .Rows.Count).End(xlUp).Row

    'Filter Unique Codes into Column A Sheet2
    .Range("O1:O" & lastCode).AdvancedFilter Action:=xlFilterCopy, _
            CopyToRange:=Worksheets("Sheet2").Range("A1"), Unique:=True        
End With

With Worksheets("Sheet2")
    'Determine last Row in Column A (Filtered Codes)
    lastFiltCode = .Range("A" & .Rows.Count).End(xlUp).Row

    'Place SUMIF Formulas in Columns Sheet2
    .Range("B2:B" & lastFiltCode).Formula = _
        "=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2)"

    .Range("D2:D" & lastFiltCode).Formula = _
        "=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2,Database!$I$2:$I$" & lastCode & "," & Chr(34) & "<" & Chr(34) & "&$F$1)"

    .Range("F2:F" & lastFiltCode).Formula = _
        "=SUMIFS(Database!$M$2:$M$" & lastCode & ",Database!$O$2:$O$" & lastCode & ",A2,Database!$I$2:$I$" & lastCode & ",$F$1)"
End With

End Sub