【发布时间】:2012-05-29 15:34:48
【问题描述】:
我正在尝试在 Excel 中对字体大小进行一些条件格式化,但由于无法从格式菜单中完成,因此需要使用 VBA 完成。
我有一个 B6 到多行的范围,我想查看它旁边的单元格,看看它是否为空白(C 列)。如果是,则将单元格格式化为粗体和 11pt。如果它不是空白,那么它需要是正常的,9pt。
我现在的代码只使最后一行加粗和 11pt 以及该列的其余部分,即使 C 列为空,也将是正常的 9pt。
出了什么问题?顺便说一句,我使用的是 Excel 2003
Dim c As Range, rng
Dim LASTROW As Long
LASTROW = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Range("B6:B" & LASTROW)
For Each c In rng
If Len(c.Offset(1, 0)) = 0 Then
c.Font.Bold = True
c.Font.Size = 11
Else
c.Font.Bold = False
c.Font.Size = 9
End If
Next c
【问题讨论】:
-
您可以使用公式通过条件格式来做到这一点
-
使用 Excel 2003,因此更改字体大小的选项显示为灰色
-
它在 XL 2007/10 中也不可用。您必须使用 VBA 来更改字体大小。
-
@DougGlancy:
font size非常正确 :)