基于下一个单元格值的Excel VBA条件格式化
我想在Excel中为字体大小做一些条件格式化,但由于无法从格式菜单中完成,因此需要使用VBA完成。基于下一个单元格值的Excel VBA条件格式化
我有一个范围B6到无论多行,我想看看它旁边的单元格,看看它是否是空白的(列C)。如果是,则将单元格设置为粗体和11pt。如果不是空白,那么它需要是正常的和9点。
我的代码在一分钟只使最后一行粗体和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
这不需要宏 - 您可以使用条件格式中的公式来完成此操作。
说你想强调在B列红色相邻的单元格时,C列的单元有“红”的值:
=IF(C6="Red",TRUE,FALSE)
然后只需填写下来填充柄如常。
规则编辑器(2007):
您不能使用条件格式在任何版本的Excel中更改字体大小。 –
-1使用If语句。条件格式中的“条件”意味着你只是使用类似''= C6 =“红色”的东西。 –
@DougGlancy足够公平的,我只是认为它读取更清楚。 – Widor
*您可以*做到这一点使用条件格式,使用公式 – smirkingman
使用Excel 2003,以便更改字体大小的选项变灰 – AdRock
它在XL 2007/10中也不可用。您必须使用VBA来更改字体大小。 –