Як змінити шрифт певної формули, що входить до комірки Excel?


0
="InterContinental Vienna @ "&M9&" "&M42&" p/room p/night"

виходячи з вищенаведеного прикладу, M9 = EUR та M42 = 150

Я шукаю результат:

InterContinental Vienna @EUR 150p/room p/night

Як це зробити за допомогою VBA для кожного рядка в певному стовпці, де M9 відображається в комірці?


Це трохи безладно, але метод добре описаний у другому фрагменті за наступним посиланням. stackoverflow.com/questions/1405988/…
Код39

Дякуємо Code39 за вказівник ... однак, назва готелю завжди буде змінюватися, таким чином, початкова точка буде змінюватися, а також довжина рядка до формату також змінюватиметься залежно від суми, яка може бути 18 чи 1800 .... Чи є спосіб почати з @ і закінчити перед "p / кімната p / ніч"?
Metta та Emma Eu

Відповіді:


1

Здається, вам потрібно трохи більше VBA, тому я створив код нижче, який включає метод, описаний за посиланням . Я не знаю, як ви маєте намір це використати, тому підрозділ FormatCurrentCellPrice якраз є проксі для вашого коду, який буде вказувати на клітинку, яку ви хочете відформатувати.

Підрозділ FormatPrice визначає розташування та довжину тексту, який потрібно виділити жирним шрифтом. Він передбачає приклад, який ви надали, коли текст є префіксом "@" і розділений пробілами. Це також передбачає, що ви переходите лише до однієї комірки.

Нарешті, підручник MakeBold вкрадений з іншої відповіді, щоб фактично встановити формат символів. Оскільки ви хочете лише жирним шрифтом цього тексту, я видалив усі інші формати з іншої відповіді.

Sub FormatCurrentCellPrice()
    FormatPrice Selection
End Sub

Sub FormatPrice(c As Range)
    Dim StartPos As Integer
    Dim EndPos As Integer

    StartPos = InStr(c.Value, "@") + 2
    EndPos = InStr(StartPos, c.Value, " ")
    EndPos = InStr(EndPos + 1, c.Value, " ")
    MakeBold StartPos, EndPos - StartPos
End Sub

Sub MakeBold(StartPos As Integer, charCount As Integer)
    With ActiveCell.Characters(Start:=StartPos, Length:=charCount).Font
        .FontStyle = "Bold"
    End With
End Sub

0

Ви не можете форматувати конкретні символи тексту вашої комірки, якщо текст повертається формулою. Однак ви можете скористатися Evaluateфункцією VBA для встановлення тексту, а потім отримати доступ до Range.Charactersколекції цільової комірки, щоб встановити певні символи жирним шрифтом.


0

Без VBA ви можете використовувати абсолютні посилання на M9 та M42 на зразок наступного:
= "InterContinental Vienna @" & $ M $ 9 & "" & $ M $ 42 & "p / кімната p / ніч"
Відформатуйте клітинку All Bold


Я спробував це, але це не зробило фокусу ... чогось мені тут не вистачає?
Metta та Emma Eu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.