以下公式在Excel中有效,但在记录并执行时,我会收到一条错误消息。当通过宏执行时,一个单元格中的8个SumIf函数会不会太多?
ActiveCell.FormulaR1C1 = _
"=SUMIF('BB_Juni 2016_Crew'!C[-13],""BV"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV SZ DG"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV lfd DG"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV Beitrag lfd"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV Beitrag SZ"",'BB_Juni 2016_Crew'" & _
"+SUMIF('BB_Juni 2016_Crew'!C[-13],""Auflösungsabgabe"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""UEL Folgemonat SV lfd Beitrag"",'BB_Juni 2016_Crew'!C[-11])"
您的一些公式丢失了。公式第一行中的最后一个SUMIF
以SUMIF('BB_Juni 2016_Crew'!C[-13],""SV Beitrag SZ"",'BB_Juni 2016_Crew'"
结尾,下一行以+SUMIF('BB_Juni 2016_Crew'!C[-13],""Auflösungsabgabe"",'BB_Juni 2016_Crew'!C[-11])
开头,这意味着某个SUMIF
公式的括号未闭合。试试这个:
ActiveCell.FormulaR1C1 = _
"=SUMIF('BB_Juni 2016_Crew'!C[-13],""BV"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV SZ DG"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV lfd DG"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV Beitrag lfd"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""SV Beitrag SZ"",'BB_Juni 2016_Crew'!C[-11])" & _
"+SUMIF('BB_Juni 2016_Crew'!C[-13],""Auflösungsabgabe"",'BB_Juni 2016_Crew'!C[-11])+SUMIF('BB_Juni 2016_Crew'!C[-13],""UEL Folgemonat SV lfd Beitrag"",'BB_Juni 2016_Crew'!C[-11])"
如果您使用的是旧Excel版本,则可能有255个字符的限制。对于
从Visual Basic过程传递到Microsoft Excel工作表的所有字符串
Microsoft Excel截断文本
来源:
https://support.microsoft.com/en-us/kb/105416
由于字符串明显较长,这将导致问题。