【发布时间】: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 这是一个有效的答案。您可能想为未来的访问者发布它?