0
我在使用逗号作为小数点符号的系统下运行我的代码时出现问题。如果有小数点(点) - 我没有问题。 我的功能计算在一定时期内客户的营业额。日期以星期和星期几形式存储在一个单元格中作为十进制数字。 有没有解决方案让我的功能与两个十进制数字格式一起工作?当小数点符号为逗号时,函数返回错误2015
这里是简化的代码:
Sub Calculation()
Dim Customer As String: Customer = "Customer1"
Dim FromValue As Double: FromValue = 1.2 'week number 1 - Tuesday
Dim ToValue As Double: ToValue = 6.4 'week number 6 - Thursday
Debug.Print Formula1(Customer, FromValue, ToValue)
End Sub
Function Formula1(Customer As String, FirstDate, LastDate)
'Range ("G6:G100") contains quantity
'Range ("AD6:AD100") contains price per 1 piece
'Range ("A6:A100") contains customer's name
'Range ("K6:K100") contains week and day of week
Formula1 = Evaluate("=SumProduct(" & Range("G6:G100").Address & "," _
& Range("AD6:AD100").Address & "," _
& "--(ISNUMBER(FIND(" & Chr(34) & Customer & Chr(34) & "," & Range("A6:A100").Address & ")))," _
& "--(" & Range("K6:K100").Address & ">=" & FirstDate & ")," _
& "--(" & Range("K6:K100").Address & "<=" & LastDate & "))")
'=SumProduct($G$6:$G$100,$AD$6:$AD$100,--(ISNUMBER(FIND("Customer1",$A$6:$A$100))),--($K$6:$K$100>=1.2),--($K$6:$K$100<=6.4))
End Function
P.S.对不起,我的英语
1)刚刚测试你的代码(我有逗号作为小数分隔符),它的工作原理2)[评估返回错误2015](http://stackoverflow.com/questions/22014093/excel-vba-find-string-error -2015/22015934#22015934)当参与计算的单元格出现错误“#VALUE!”时 - 请检查G6:G100,AD6:AD100等单元格的内容。 3)当你可以简单地使用'Evaluate(“= SumProduct(G6:G100))时,为什么使用'Evaluate(”= SumProduct(“&Range(”G6:G100“)。Address& ...“)'? –
即使这个简单的代码返回错误2015时,十进制是逗号。 - (B1:B10> =“&FromValue&”))“) Debug.Print”= SumProduct(A1:A10, - (B1:B10> =“&FromValue&”))“ End Sub' – user3368935