簡體   English   中英

比較excel中的行並突出顯示差異

[英]Compare the rows in excel and highlight the difference

我是excel宏的新手,我正在嘗試將sheet1中的值與sheet2的值進行比較,並且應在sheet3更新差異,並突出顯示“ False”的值。

我正在使用EXACT函數作為=EXACT( Sheet1!A1, Sheet2!A1 )

電池范圍從A1到DJ70。

您能否通過從用戶處獲取值的數量並比較該特定的行數來幫助創建宏。 例如,如果用戶在輸入框中指定10,則應比較10行。 請在這方面幫助我。

抱歉,沒有提供代碼。 我通過給出范圍嘗試了以下代碼。 但是我需要知道如何從用戶那里獲取值並比較特定數量的行。

Sub compare()
     Sheet3.Activate
     Range("A6").Select
     ActiveCell.FormulaR1C1 = "=EXACT(Sheet1!R[-5]C,Sheet2!R[-5]C)"
     Range("A6").Select
     Selection.Copy
     Range("A6:DJ70").Select
     ActiveSheet.Paste
     Range("A6").Select
End Sub

我做這樣的事情...我會告訴你我所做的事情,然后您可以將其復制到您的公司中

我有一列具有相同的名稱,每當我輸入一個已有的名稱時,都會將另一列標記為唯一或重復。

為此,我使用以下公式= IF(COUNTIF($ B $ 2:$ B $ 100; $ B $ 2:$ B $ 100)= 1;“唯一”;“重復”);

讓我嘗試解釋一下:

NAME-COLUMN | UNIQUE-COLUMN
---------------------------
JORGE       | UNIQUE
JOHN        | REPEATED
ROBERT      | UNIQUE
MARIA       | UNIQUE
JOHN        | REPEATED

只要檢查是否有幫助。

碼:

Sub Compare()
    Dim mx As Long
    Dim i As Long
    Dim j As Long

    On Error GoTo ErrHandling

ReDo:

    mx = CLng(InputBox("Enter Number of Rows to Search:", "Entry Required: ...", 1))

    If mx < 1 Or mx > 70 Then
        MsgBox "Please Enter a valid number of rows!"
        GoTo ReDo
    End If

    For i = 1 To mx

        Sheet3.Range(Sheet3.Cells(i, 1), Sheet3.Cells(i, 114)).FormulaR1C1 = "=EXACT(Sheet1!RC, Sheet2!RC)"

    Next i

    Exit Sub

ErrHandling:

    If Err = 13 Then
        MsgBox "Rows must be a number!"
        GoTo ReDo
    Else
        MsgBox "An Unexpected Error Has Occured!"
    End If

End Sub

理論:

只需遍歷指示的行並填寫您使用的公式中的所有列即可。

暫無
暫無

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

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