2014-03-25 113 views
0

我是新来的VBA,我得到这个错误13 - 类型mismtached,但我不知道为什么,我发现没有什么帮助... 任何提示? (对不起它在法国)VBA - Excel - 错误13

Function EIDPA(Coût_actif, Tx_dépréciation, Tx_marginal, Coût_opportunité) 
    EIDPA = ((Coût_actif * Tx_dépréciation * Tx_marginal)/(Coût_opportunité + Tx_dépréciation)) * ((1 + (0.5 * Coût_opportunité))/(1 + Coût_opportunité)) 
End Function 

Sub EIDPA2() 
    Coût_actif = InputBox("Entrez le coût de l'actif SVP", "Calculateur", "100000") 
    Tx_dépréciation = InputBox("Entrez le taux de dépréciation pour ammortissement SVP", "Calculateur", "0.30") 
    Tx_marginal = InputBox("Entrez le taux marginal d'imposition SVP", "Calculateur", "0.50") 
    Coût_opportunité = InputBox("Entrez le coût d'opportunité applicable SVP", "Calculateur", "0.05") 
    MsgBox "La valeur actuelle des économies d'impôts est de: " _ 
    & Module1.EIDPA(Coût_actif, Tx_dépréciation, Tx_marginal, Coût_opportunité) & "$", vbInformation, "Calculateur" 
End Sub 

回答

1

你应该正确Dim明确你的变量;否则你试图使用字符串变量作为数字:

Function EIDPA(Coût_actif As Double, Tx_dépréciation As Double, Tx_marginal As Double, Coût_opportunité As Double) As Double 
    EIDPA = ((Coût_actif * Tx_dépréciation * Tx_marginal)/(Coût_opportunité + Tx_dépréciation)) * ((1 + (0.5 * Coût_opportunité))/(1 + Coût_opportunité)) 
End Function 
Sub EIDPA2() 
    Dim Coût_actif As Double 
    Dim Tx_dépréciation As Double 
    Dim Tx_marginal As Double 
    Dim Coût_opportunité As Double 

    Coût_actif = CDbl(InputBox("Entrez le coût de l'actif SVP", "Calculateur", "100000")) 
    Tx_dépréciation = CDbl(InputBox("Entrez le taux de dépréciation pour ammortissement SVP", "Calculateur", "0.30")) 
    Tx_marginal = CDbl(InputBox("Entrez le taux marginal d'imposition SVP", "Calculateur", "0.50")) 
    Coût_opportunité = CDbl(InputBox("Entrez le coût d'opportunité applicable SVP", "Calculateur", "0.05")) 
    MsgBox "La valeur actuelle des économies d'impôts est de: " _ 
    & Module1.EIDPA(Coût_actif, Tx_dépréciation, Tx_marginal, Coût_opportunité) & "$", vbInformation, "Calculateur" 
End Sub 
0

你得到一个错误,因为的InputBox返回一个字符串,而你想在这里繁衍在一起字符串:

EIDPA = ((Coût_actif * Tx_dépréciation * Tx_marginal)/(Coût_opportunité + Tx_dépréciation)) * ((1 + (0.5 * Coût_opportunité))/(1 + Coût_opportunité))

尝试声明你的法语变量为整数/浮点数,看看是否有帮助。 More info