Как добавить запятую к числу в тексте в Excel VBA

#excel #vba

#excel #vba

Вопрос:

Я работаю над проектом, который автоматически создает отчет в соответствии со значениями inport. На листе 2 у меня есть входные данные типа C10=1000 , C11=150000 и я хочу, чтобы на листе 1 были такие же, как C4= 1,000.00 MWh и C5= 150,000 Dollar , и я хочу, чтобы цифры были выделены жирным шрифтом. Я пишу код, подобный этому:

 Private Sub CommandButton1_Click()
Dim Range1, Range2
Set Range1 = ThisWorkbook.Sheets(2).Range("C10")
Set Range2 = ThisWorkbook.Sheets(2).Range("C11")
Application.EnableEvents = False
 ThisWorkbook.Sheets(1).Range("C4") = Range1.Value amp; " MWh"
 ThisWorkbook.Sheets(1).Range("C5") = Range2.Value amp;" Dollar"
 With ThisWorkbook.Sheets(1).Range("C4")
 .Characters(InStr(ThisWorkbook.Sheets(1).Range("C4").Value, Range1), Len(CStr(Range1))).Font.FontStyle = "Bold"
 End With
 With ThisWorkbook.Sheets(1).Range("C5")
 .Characters(InStr(ThisWorkbook.Sheets(1).Range("C5").Value, Range2), Len(CStr(Range2))).Font.FontStyle = "Bold"
 End With
Application.EnableEvents = True
ThisWorkbook.Sheets(1).Activate
End Sub
 

Но я получаю результаты правильно, но я не могу понять, как добавить запятые между цифрами, которые я пробовал .NumberFormat , но это не сработало, потому что оно не в правильном формате.

Есть ли какой-нибудь способ сделать это?

Ответ №1:

Вам нужно использовать

 .NumberFormat = "#,##0.00 ""Mwh"""
 

и значение должно быть числовым

 .Value = 1000
 

Затем он будет отображаться как

 1,000.00 Mwh
 

в вашей ячейке.

Комментарии:

1. Конечно, с правильными единицами это должно быть MWh?

2. @SolarMike и, вероятно Dollar Dolar , вместо ссылки на Range2.Value amp;" Dolar" вопрос.

3. Привет, спасибо, мне удалось разделить числа, но теперь все ячейки выделены жирным шрифтом!