[英]Excel VBA conditional formatting based on next cell value
我正在嘗試在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
您的偏移參數是向后的。 您正在檢查當前單元格下面的單元格。
請注意,訣竅是使用單一規則,為左上角的單元格編碼
這不需要宏-您可以使用條件格式中的公式來實現。
假設您要在C列的單元格值為“紅色”時以紅色突出顯示B列中的相鄰單元格:
=IF(C6="Red",TRUE,FALSE)
然后像往常一樣用填充手柄填充
規則編輯器(2007):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.