Добрый день.
Есть небольшая процедурка которая в зависимости от выбраной валюты, устанавливает формат ячеек.
Но блин две проблемы.
1. Не могу почему то в VBA поставить символ рубля, выводится вопросительный знак ?
2. Не могу найти ошибку в формате Евро, вроде бы все правильно написано, а перестала работать :(
Хелп
Вот процедурка
Sub ReplaceFormats()
Application.FindFormat.Clear
Application.ReplaceFormat.Clear
NumFormat = Worksheets("DD").Range("D14").NumberFormat
OldFormat = Worksheets("DD").Range("D14").NumberFormat
If Worksheets("DD").Range("I1").Value = "EUR" Then
NumFormat = "[$ˆ-409]#,##0_;-[$ˆ-409]#,##0"
End If
If Worksheets("DD").Range("I1").Value = "USD" Then
NumFormat = "[$$-409]#,##0_ ;-[$$-409]#,##0 "
End If
If Worksheets("DD").Range("i1").Value = "RUB" Then
NumFormat = "#,##0 [$?-419];-#,##0 [$?-419]"
End If
' set formatting to look for
With Application.FindFormat
.NumberFormat = OldFormat
End With
' set formatting that should be applied instead
With Application.ReplaceFormat
' .Font.Bold = False
.NumberFormat = NumFormat
' .Font.Size = 8
End With
ActiveSheet.Cells.Replace What:="", Replacement:="", _
SearchFormat:=True, ReplaceFormat:=True
End Sub
'Dim oRange As Range
NumFormat = "#,##0 [$?-419];-#,##0 [$?-419]"
у вас вопросительный знак в коде
NumFormat = "[$ˆ-409]#,##0_;-[$ˆ-409]#,##0"
значка евро вообще не вижу.
NumFormat = "#,##0 [$р.-419];-#,##0 [$р.-419]"
NumFormat = "[$€-409]#,##0_;-[$€-409]#,##0"
или файл покажите.
кнопка цитирования не для ответа [МОДЕРАТОР]
Да и так пробовал выдает ошибку.
не корректно задан формат
If Worksheets("DD").Range("I1").Value = "EUR" Then
NumFormat = "_-[$€-2] * #,##0.00_-;-[$€-2] * #,##0.00_-"
ElseIf Worksheets("DD").Range("I1").Value = "USD" Then
NumFormat = "_-[$$-409]* #,##0.00_ ;_-[$$-409]* -#,##0.00 ;_-[$$-409]* ""-""??_ ;_-@_ "
ElseIf Worksheets("DD").Range("i1").Value = "RUB" Then
NumFormat = "_-* #,##0.00[$р.-419]_-;-* #,##0.00[$р.-419]_-;_-* ""-""??[$р.-419]_-;_-@_-"
End If
это стандартные форматы. запишите ваш формат макрорекордером и полученный формат в коде перенесите в ваш.
Хорошо, попробую.
Спасибо.
Отпишусь
нашел
вот такif Worksheets("DD").Range("i1").Value = "RUB" Then
NumFormat = "$#,##0_);($#,##0)"'[Red]
End If
Спасибо
Для оформления кода в сообщении служит кнопка "#"
Если нужно, писать коментарии, а не выделять цветом.