excel 在其他工作表中查找单元格值并更改为该单元格内部颜色

xuo3flqw  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(390)

我正在尝试将sheet1上的选定单元格(或F列中的每8+ 11n个单元格到末尾)变成与sheet2 row2上的相同值相同的内部颜色。
这是我目前所拥有的,它可以转到sheet2,但是很难找到相同值的位置并选择它。

Sub FindAndColor()

OA=ActiveCell.Address
rngY=ActiveCell.Value

    Sheets("Sheet2").Select
    Rows(2).Select
    Selection.find(What:=rngY, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
      
ActiveCell.Select
CC=ActiveCell.DisplayFormat.Interior.Color

Sheets("Sheet1").Select
OA.Select
ActiveCell.DisplayFormat.Interior.Color=CC

End Sub
2w3rbyxf

2w3rbyxf1#

使用Find()时,您应该先测试是否有相符的项目,然后再继续。
因此,应该可以这样做:

Option Explicit

Sub FindAndColor()

    Dim f As Range, c As Range
    
    Set c = ActiveCell
    Set f = ThisWorkbook.Sheets("Sheet2").Rows(2).Find( _
                What:=c.Value, LookIn:=xlFormulas, _
                LookAt:=xlWhole, MatchCase:=False)
                
    If Not f Is Nothing Then 'found a match ?
        c.Interior.Color = f.DisplayFormat.Interior.Color 'DisplayFormat is read-only...
    Else
        'do something if no match?
    End If

End Sub

相关问题