Excel VBA: функция для превращения Activecell в полужирный - PullRequest
13 голосов
/ 18 мая 2011

У меня есть следующая функция внутри моего модуля.

Function Colorize(myValue)
    ActiveCell.Select
    Selection.Font.Bold = True
    Colorize = myValue
End Function

Ячейка, которая будет использовать эту функцию, должна выделяться жирным шрифтом - однако я не получаю сообщений об ошибках и грустно, но это правда, она не становится жирным. Чего мне не хватает?

Спасибо

Ответы [ 2 ]

21 голосов
/ 18 мая 2011

UDF будет возвращать только значение, которое не позволит вам изменить свойства ячейки / листа / рабочей книги.Переместите свой код в событие Worksheet_Change или подобное для изменения свойств.

Например,

Private Sub worksheet_change(ByVal target As Range)
  target.Font.Bold = True
End Sub
1 голос
/ 18 мая 2011

Я использую

            chartRange = xlWorkSheet.Rows[1];
            chartRange.Font.Bold = true;

, чтобы превратить шрифт ячеек первой строки в жирный.И это работает, и я использую также Excel 2007.

Вы можете напрямую вызывать VBA

            ActiveCell.Font.Bold = True

С помощью этого кода я создаю метку времени в активной ячейке, с жирным шрифтом и желтымфон

           Private Sub Worksheet_SelectionChange(ByVal Target As Range)
               ActiveCell.Value = Now()
               ActiveCell.Font.Bold = True
               ActiveCell.Interior.ColorIndex = 6
           End Sub
...