Страница 1 из 2
"Крамольный" вопрос по форматированию
Добавлено: 26 фев 2008, 23:42
VictorM
Здравствуйте, Уважаемые!
Вот такой "крамольный" вопрос:
можно ли применить форматирование к переменной вот в таком примере
Код: Выделить всё
Dim СумНаценки As Integer
Range("E1").FormulaLocal = "Сумма наценки во внешнем приходе сосставляет: " & СумНаценки & " грн."
With Range("E1").Font
.Name = "Tahoma"
.Size = 8
.ColorIndex = 5
End With
т.е. к переменной
СумНаценки применить формат отличный от всей строки
вроде как лабуда полная, а может можно?

Спасибо.
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 10:17
son
Сделать-то так можно, только ячейка будет текстового типа все равно... Так что непонятно зачем это вам

? При выводе всегда можно воспользоваться функцией cStr и при этом тип вашей переменной не изменится
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 10:53
VictorM
son, да честно говоря, вопрос скорее экспериментального плана

. Конечно, сделать можно и по другому. Можно просто значение переменной поместить в отдельную ячейку и форматить как хочешь. т.е. текст отдельно, значение отдельно.
Так что непонятно зачем это вам
ну например, чтобы значение, в отличие от всей строки, сделать "жирный", красный.
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 19:40
Teslenko_EA
Здравствуйте
VictorM.
Вы задали вопрос "применить форматирование к переменной", но на самом деле в примере происхдит форматирование ячейки и конкатенация переменной с текстом.
Как написал
son "ячейка бодет текстовой", данные размещаемые в ячейке ("E1") нельзя использовать в иатематических операциях, а изменять форматирование ячейки - конечно можно. Простите не понял в чем "крамола"

Евгений.
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 20:34
Aent
Можно для цифровой ячейки задать формат типа
[Красный]"Сумма наценки во внешнем приходе составляет: "0.00
Такая ячейка нормально будет участвовать в арифметических операциях.
А вот раскрасить её части в разные цвета заданием формата неудастся
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 21:45
Serge_Bliznykov
Виктор, а разве речь идёт не о следующем коде (просто пример)
Код: Выделить всё
Dim S As String
Dim СумНаценки As Integer
Dim Pos1 As Integer
СумНаценки = 4567
S = "Сумма наценки во внешнем приходе составляет: " & _
CStr(СумНаценки) & " грн."
Pos1 = InStr(1, S, "грн.")
If Pos1 > 46 Then
Range("E1").FormulaLocal = S
With Range("E1").Characters(Start:=46, Length:=Pos1 - 46).Font
.Name = "Tahoma"
.FontStyle = "полужирный"
.Size = 14
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
End If
End Sub
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 22:01
Teslenko_EA
Здравствуйте
Serge_Bliznykov.
Какой Вы ожидаете получить результат при использовании подобной формулы =E1 * 1 ?

Евгений.
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 22:21
VictorM
Teslenko_EA - не ожидал, что вопрос перейдет в такие сложные материи.

Я написал то, что написал. Обыкновенная строка
конкатенация переменной с текстом.
и всего то. И ни в каких дальнейших операция она, естественно, не участвует. Скажем так - информационная строка. И все!
А по поводу форматирования - "взгрустнулось", а нельзя ли...

На что
Aent дал четкий ответ:
А вот раскрасить её части в разные цвета неудастся
в принципе и все

, ясно и понятно.
Спасибо всем за участие.
P.S.
Serge_Bliznykov, прошу прощенья, сначала написал ответ, а потом проверил Ваш код.
Это то, что нужно!
Значит все-таки можно!

Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 22:30
Serge_Bliznykov
VictorM, ПОПРОБУЙТЕ МОЙ КОД двумя постами выши!!!!!
Teslenko_EA, разумеется #ЗНАЧ! А какой ещё результат можно ожидать от строки?! По моему автор хотел строчку с выделенным текстом! Всё. Никаких умножений/сложений/вычитаний... ;-)))
Re: "Крамольный" вопрос по форматированию
Добавлено: 27 фев 2008, 22:33
VictorM
Serge_Bliznykov, да, спасибо. Это именно то, что нужно! Вы меня совершенно правильно поняли.
P.S. Уже поместил Ваш код в рабочий модуль, все на Ура!