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

на основе приведенного выше примера, M9 = EUR и M42 = 150

Результат, который я ищу:

InterContinental Vienna @ EUR 150 p/room p/night

Как мне сделать это, используя VBA для каждой строки в определенном столбце, где M9 появляется в ячейке?

3 ответа3

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 /room p /night"
Форматировать ячейку Все полужирный

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .