簡體   English   中英

基於下一個單元格值的Excel VBA條件格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM