excel 使用vba设置条件格式更改字体字号

A1到Y161的区域中,查找单元格内容为“(此项空白)”的单元格,并将其自动改成楷体,8号字体。

如何实现?

补充:1、所有单元格的内容不是固定不变的,随着数据的引用,单元格的数据会变动,当单元格数据变为“(此项空白)”时,才需要改字体和字号。
2、条件格式无法改字体和字号

此题无解,条件格式无法改变字体、字号,本来以为下面的代码满足你的要求:

Sub Macro1()
    Range("A1:Y161").Select
    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
        Formula1:="=""(此项空白)"""
    With Selection.FormatConditions(1).Font
        .Name = "楷体"
        .Size = 8
    End With
End Sub

结果系统提示无法改变字体、字号。


如果数据不太多,可以自己监控数据变化,例如:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C As Range
    For Each C In Target
        If C.Value = "(此项空白)" Then
            C.Font.Name = "楷体"
            C.Font.Size = 8
        End If
    Next C
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-26
用定位条件(Ctrl+G)--空值
选出区域内的空值单元格,可以一次性改字体及大小
第2个回答  2014-08-26

以上是写好的VBA

由于你没有说当 单元格内容不为 (此项空白)  时用什么字体

我就随便写成宋体 10 号了

你需要可修改

本回答被提问者采纳
相似回答