Excel VBA:将activecell变为粗体的功能

时间:2011-05-18 13:51:04

标签: vba excel-vba excel-2007 excel

我的模块中有以下功能。

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

将使用此功能的单元格应该变为粗体 - 但是,我没有收到任何错误消息,但是很难过,但它没有变为粗体。我错过了什么?

由于

2 个答案:

答案 0 :(得分:21)

UDF只返回一个值,它不允许您更改单元格/工作表/工作簿的属性。将代码移动到Worksheet_Change事件或类似事件以更改属性。

例如

Private Sub worksheet_change(ByVal target As Range)
  target.Font.Bold = True
End Sub

答案 1 :(得分:1)

我用

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

将first-row-cells-font转换为粗体。它有效,我也在使用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