[爆卦]vba format小數點是什麼?優點缺點精華區懶人包

為什麼這篇vba format小數點鄉民發文收入到精華區:因為在vba format小數點這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者JointBank (噓~ 不要問!)看板Office標題[算表] vba combobox顯示...


軟體:Excel

版本:2016

因選單需要顯示為百分比

但如果為字串表示則無法做運算

該如何讓Combobox選項數字顯示為百分比"%"

確有辦法讓該值做運算?

謝謝



--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.216.201
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1505316474.A.9CA.html
soyoso: 選項顯示百分比可以數字 & "%"或format格式以"0%"之類 09/13 23:46
soyoso: 運算上可先將val(combobox)除100 09/13 23:47
soyoso: 運算上也可format(combobox) 09/13 23:50
soyoso: 如有小數點val改以cdbl,取代replace combobox的%或left 09/13 23:56
soyoso: 字數為len減1 09/13 23:57

感謝S大回覆
經測試結果如下

Private Sub CommandButton5_Click()
Dim s1, s2, s3, s4 As Double

If CheckBox1.Value = True Then
Range("f24").Value = Yes
ElseIf CheckBox2.Value = True Then
Range("f24").Value = No
End If



s1 = Application.WorksheetFunction.Round(-Range("j24").Value *
CDbl(ComboBox7.Value) / 100, 0)

s2 = Application.WorksheetFunction.Round(-Range("j24").Value *
Val(ComboBox7.Value) / 100, 0)

Range("J27").Value = s1
Range("J28").Value = s2

s2 為整數部份 正常可行
s1 帶小數點 ==>執行錯誤13
形態不符合

With ComboBox5
'.List = Array("0.0191")
.List = Array(1.91 & "%")
End With

With ComboBox7
'.List = Array("0.03", "0.1", "0.15", "0.2")
.List = Array(3 & "%", 10 & "%", 15 & "%", 20 & "%")
End With
End Sub

'此行改寫為
s1 = Application.WorksheetFunction.Round(-Range("j24").Value *
Left(ComboBox5.Value,Len(ComboBox5.Value -1), 0))

錯誤訊息為
翻譯錯誤
引數的個數錯誤或指定不了正確的屬性
※ 編輯: JointBank (114.37.216.201), 09/14/2017 00:57:11
※ 編輯: JointBank (114.37.216.201), 09/14/2017 01:02:14

s1 = Application.WorksheetFunction.Round(-Range("j24").Value *
Left(ComboBox5.Value, Len(ComboBox5.Value) - 1) / 100, 0)

執行正常

改怎麼判斷何時該加Application.WorksheetFunction
※ 編輯: JointBank (114.37.216.201), 09/14/2017 01:07:50
soyoso: 當要使用工作表函數且worksheetfunction物件下有提供該函 09/14 07:04
soyoso: 數方式時,加application.worksheetfunction或 09/14 07:05
soyoso: worksheetfunction 09/14 07:05
soyoso: 回文函數方"式"改為函數方"法" 09/14 07:06
JointBank: 此案例application.worksheetfunction是有.len 這個方 09/14 09:46
JointBank: 法的 但加了卻反而失敗 09/14 09:46
soyoso: 於回文就有提了worksheetfunction物件下有提供該函數方法 09/14 10:02
soyoso: 時 09/14 10:03
soyoso: https://goo.gl/ZhA18T 微軟msdnWorksheetFunction 物件說 09/14 10:17
soyoso: 明下並無搜尋len該方法 09/14 10:18
soyoso: 原po回文寫到有這個方法,也請提出看看 09/14 10:19
soyoso: 且https://i.imgur.com/YM3YvA4於worksheetfunction.後的 09/14 10:20
soyoso: 提示(字母排序)下也未看len的方法 09/14 10:21
JointBank: 重新檢視後 確定無此方法 可能一時眼花未注意 感謝S 09/14 10:39
JointBank: 大 09/14 10:39

你可能也想看看

搜尋相關網站