簡體   English   中英

使用VBA,如何突出顯示一張紙上某一列中的列表中的值(如果該值存在於另一張紙的范圍內)

[英]Using VBA, how to highlight a value that is in a list in one column on one sheet if the value exists in range on a different sheet

我在工作表“ A”的一欄中有一個ID列表。 在工作表“ B”上,我將這些ID散布在一個表格(一個范圍)中。 我如何搜索范圍以查看工作表A上列出的每個值是否存在於工作表B上? 我想確保工作表A的一列中的所有值都存在於工作表B中。該宏應該檢查並突出顯示確實存在的值。 因此,任何不存在的值都不會突出顯示,並且我可以輕松解決。 目前,我們正在手動更新,但我需要它具有不斷變化的動態性。

以下是到目前為止我嘗試過的操作,但出現“下一個不適用”錯誤。 我已經在vba中編碼,但是已經很長時間了。 任何幫助表示贊賞。 順便說一句,我直到真正開始工作才真正關心顏色,所以我只選了一個數字。

Sub CaseIdCheck()

    Dim i, j, x As Integer
    Dim intValueToFind, testCaseId, tciPass1, tciPass2 As String
    Dim range1, range2 As Range

    range1 = Application.GotoActiveWorkbook.Sheets("B").Range("C4:U50")
    range2 = Application.GotoActiveWorkbook.Sheets("A").Range("i3:i145")

    For x = 1 To ActiveWorkbook.Sheets("A").CountA(Columns(9))
    If Cells(x, 9).Value <> Null Then
       testCaseId = Sheets("A").Cells(x, 9).Value

        For i = 1 To 100
            For j = 1 To 100
                If Sheets("B").Cells(i, j).Value = testCaseId Then
                    Sheets("A").Cells(x, 9).Interior.ColorIndex = 36
                Else
            Next j
        Next i

                End If
    Next x
    Else
    MsgBox ("end")
End Sub

這需要是VBA嗎? 您可以使用命名范圍和條件突出顯示來完成此操作。

創建一個使用此命名范圍公式定義的新命名范圍(我們將其稱為rngCheck ):

=B!$1:$1048576

然后將此條件格式應用於工作表“ A”的第I列:

=COUNTIF(rngCheck,I1)>0

並選擇所需的顏色(ColorIndex 36的RGB是R 255,G 255,B153)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM