2016-10-06 2 views
0

Я форматировал валюту для доллара. Он работает нормально. Такое же форматирование валюты, которое я хочу делать для других валют, также как и Евро, Фунт. Ниже приведен код, который я пробовал. Помощь Pls.Форматирование валюты для евро в словах с использованием VBA

Код:

Sub CurrencyFormat_UK() 
' 
' Currency formating 
' 

Dim oCl As Word.Cell 
Dim oRng As Range 
' 
' Condition to check the selected data 
' 
    If Selection.Type = wdSelectionIP Or _ 
     Not Selection.Information(wdWithInTable) Then 
    MsgBox "Select a cell or range of cells before running" _ 
     & " this macro.", , "Nothing Selected" 
    Exit Sub 
    End If 
    For Each oCl In Selection.Cells 
    Set oRng = oCl.Range 
    ' 
    'Drop of the end of cell mark 
    ' 
    oRng.End = oRng.End - 1 
    With oRng 
     If IsNumeric(oRng) Then 
     .Text = FormatCurrency(Expression:=.Text, NumDigitsAfterDecimal:=2, _ 
       IncludeLeadingDigit:=vbTrue, UseParensForNegativeNumbers:=vbTrue) 
     End If 
     If oRng.Characters.count = 1 Then GoTo Skip 
     On Error GoTo Skip 
     'Catch errors here 
     If InStr(oRng.Text, "€") = False Then 
     oRng.Font.Color = wdColorRed 
     oRng.Select 
     MsgBox "Cell content is not numerical.", , "Error" 
     Selection.Collapse wdCollapseEnd 
     End If 
Skip: 
    End With 
    Next oCl 
lbl_Exit: 
Exit Sub 
End Sub 
+0

Какая ошибка это дает? Я имею в виду, как мы можем помочь, если вы не скажете, что не работает? – CyberClaw

+0

Фактически функция «FormatCurrency», которая автоматически используется в форматах кода в долларах. Есть ли другой способ, который можно форматировать и в других валютах? –

+0

Если вы хотите, чтобы кто-то работал над вами, вам придется заплатить программисту. Этот сайт предназначен для программистов, которые просят помощи с некоторыми сомнениями или ошибками, которые могут возникнуть у вас, а не «сделайте все для меня, ktkxbai!» – CyberClaw

ответ

0

Просто используйте вместо NumberFormat.

Предположим, я хочу отформатировать весь столбец B до GBP (£) с листа SheetCur. Код будет следующим:

Worksheets("SheetCur").Columns("A").NumberFormat = "£#,##0.00_)" 

Это создаст материал, похожий на £ 555,00. Если вы хотите оставить пространство между валютой и количеством просто оставить пробел в строке, а также:

.NumberFormat = "£ #,##0.00_)" 

Аналогично, если вы хотите валюту после номера, вы можете использовать:

.NumberFormat = "#,##0.00 £_)" 
Смежные вопросы