Excel VBA 条件格式仅适用于某些列

问题描述 投票:0回答:1

我有一张包含产品价格的表格。每个产品都有一行。每行都有代表多家公司的列。每个公司都有 2 栏 - 一栏显示旧价格,一栏显示新价格。因此,如果有 3 个公司,则每个产品有 6 列。

我对每个产品行使用条件格式,与其他行的价格无关。我的宏有效(在我手动将条件格式添加到第一行之后)。

但我现在需要条件格式来忽略旧的价格列并将其仅添加到新的价格列中。旧的价格栏通常是隐藏的。如果我只向新价格列添加条件格式并运行宏,它会一起考虑所有产品的所有价格,而不是单独考虑每一行。

我当前的代码:

Sub NewCF()
Application.ScreenUpdating = False
Dim table As Range
Set table = Range("B4", "G8")
Range("B3:G3").Copy
For Each Row In table.Rows
Row.PasteSpecial (xlPasteFormats)
Next Row
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

有没有办法达到如图所示的最终效果? 我尝试了很多不同的方法,阅读了很多论坛帖子,但到目前为止还没有成功。

enter image description here

excel vba conditional-statements formatting
1个回答
0
投票
Option Explicit

Sub NewCF()

    Dim n
    With Range("B3")
        For n = 1 To 6 Step 2
            .Offset(0, n).Copy
            .Offset(1, n).Resize(7).PasteSpecial xlPasteFormats
        Next
    End With
© www.soinside.com 2019 - 2024. All rights reserved.