2014-03-25 145 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