Как установить количество десятичных разрядов для значения, возвращаемого в msgbox, после выполнения простых вычислений в VBA excel 2010

В настоящее время я использую простой msgbox calc для возврата вычисленного значения. Как я могу ограничить количество десятичных знаков, показанных в возвращаемом значении в ответе msgbox.

вот сценарий!

Sub CalcmsgboxHect()
    On Error Resume Next
    num = InputBox("Please Enter The Number Of Acres You Would Like To Calculate Into Hectares ")
    MsgBox num * 0.404686 & " Is the Number Of Hectares."
End Sub

1 ответ

Решение

Ну вот. Это применяет формат с двумя десятичными разрядами и разделителем тысяч:

РЕДАКТИРОВАТЬ: обернут в IF, чтобы пропустить, если num = 0.

Sub CalcmsgboxHect()
Dim num As Double

num = Application.InputBox(prompt:="Please Enter The Number Of Acres You Would Like To Calculate Into Hectares ", Type:=1)
If num <> 0 Then
    MsgBox Format(num * 0.404686, "#,##0.00") & " Is the Number Of Hectares."
End If
End Sub

В качестве бонуса я объявил num как Double (опусти свой безрассудный прозвище). Также я использовал Application.Inputbox, которые позволяют указать и тип ввода. Тип входа 1 означает, что пользователь должен ввести номер. Это может позволить вам избавиться от On Error Resume Next линия.

Другие вопросы по тегам