【问题标题】:Finding cells with certain interior color查找具有特定内部颜色的单元格
【发布时间】:2017-11-04 06:58:16
【问题描述】:

我正在使用此代码来定位具有某种颜色(由条件格式更改)的单元格,然后根据该行中的值交换到另一张表。但是,宏运行,只是没有找到任何东西。没有错误消息,只是没有找到任何单元格(我已为此测试切换到 RGB 255、0、0)。我在这里做错了什么?

Sub ChangeAccountDetailsForMay()

Dim ws As Worksheet
Set ws = Sheets("comparison")
Dim destws As Worksheet
Set destws = Sheets("Account Detail")
Dim i As Integer
Dim j As Integer

For i = 24 To 3205
    If ActiveWorkbook.Sheets("comparison").Range("BF" & i).Interior.Color = RGB(255, 0, 0) Then 'Might be RGB 218 148 148
        MsgBox "Found one at row " & i & "!"
        For j = 25 To 3077
            If ActiveWorkbook.Sheets(destws).Range("J" & j).Value = ActiveWorkbook.Sheets(ws).Range("J" & i).Value And ActiveWorkbook.Sheets(destws).Range("L" & j).Value = ActiveWorkbook.Sheets(ws).Range("L" & i).Value Then
                ActiveWorkbook.Sheets(destws).Range("BD" & j).Value = ActiveWorkbook.Sheets(ws).Range("BB" & i).Value
                ActiveWorkbook.Sheets(destws).Range("BE" & j).Value = ActiveWorkbook.Sheets(ws).Range("BC" & i).Value
                ActiveWorkbook.Sheets(destws).Range("BF" & j).Value = ActiveWorkbook.Sheets(ws).Range("BD" & i).Value
            End If
        Next j
    End If
Next i

MsgBox "Done!", vbInformation, "Success!"
End Sub

【问题讨论】:

  • 使用.DisplayFormat:...Range ("BF" & i).DisplayFormat.Interior.Color...
  • 轰隆隆,你明白了。谢谢斯科特-
  • @ScottCraner 这是一个有效的答案。您可能想为未来的访问者发布它?

标签: vba excel


【解决方案1】:

要获得条件格式提供的单元格颜色,必须使用DisplayFormat

...Range ("BF" & i).DisplayFormat.Interior.Color...

【讨论】:

  • 值得注意的是,这仅适用于 Excel 2010 及更高版本
  • ++ 感谢您将其作为答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 2012-08-25
  • 2019-12-02
  • 1970-01-01
相关资源
最近更新 更多