首页 > 解决方案 > 如果在 vb.Net 中满足条件,则更改 Excel 范围中的行颜色

问题描述

在“A”到“H”范围内,当满足 H 单元格中的条件时,我想更改颜色。我的代码可以工作,但是如果我使用这个代码,它会改变整个行的颜色:

    For Each h In shXL.Range("A2:H150").Columns(8).Cells
                If h.Value > 14 Then
                    h.EntireRow.Interior.Color = Color.FromArgb(251, 254, 138)
                End If
    Next

或者当我使用这个时,颜色会随着从 H 到 N 的变化而改变:

For Each h In shXL.Range("A2:H150").Columns(8).Cells
            If h.Value > 14 Then
                h.Range("A1:H1").Interior.Color = Color.FromArgb(251, 254, 138)
            End If
Next

怎么做?

标签: excelvbaif-statementcolors

解决方案


您可以通过多种方式进行操作,例如以下方式。

在您的示例A1:H1中是相对于 H 列,因此 H 到 N 而不是 A 到 H。

For Each h In shXL.Range("H2:H150")
   If h.Value > 14 Then
       h.offset(,-7).resize(,8).Interior.Color = Color.FromArgb(251, 254, 138)
   End If
Next

推荐阅读