2016-12-01 121 views
0

我嘗試添加這行代碼在VBA Excel中自定義函數三元運營商拋出的錯誤

(days > 0 ? days + ' day' + (days > 1 ? 's' : '') + ' ' : '') + hours+':'+minutes+':'+Math.round(seconds) 

這是我在VBA Excel首先功能。它以紅色顯示聲明。 excel 2013支持這個嗎?

+2

這是不正確的VBA語法。您必須從任何語言轉換爲正確的語法。 –

+0

@ScottHoltzman這是從我的JavaScript函數。我從Math.Round()修改了Round.Math,除了它的工作語法。我的壞不包括'('在開頭,'+'在替換爲'&' – user525146

+0

對於VBA - 只需使用'Round' ...'Round(seconds)'。 –

回答

3

這樣的事情應該工作...

您可能需要使用CStr的(小時)等取決於你如何Dim'd變量

If Days > 0 Then 
    var = Days & Iff(Days > 1, " days ", " day ") & hours & ":" & minutes & ":" & Round(seconds) 
End If 

編輯:

爲了反映改變的問題...

Iff(Days > 0, Days & Iff(Days > 1, " days : ", " day : "), "") & hours & ":" & minutes & ":" & Round(seconds)