我是excel宏的新手,我正在尝试将sheet1
中的值与sheet2
中的值进行比较,差异应该在sheet3
中更新,并突出显示& #34;假"
我使用 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
答案 0 :(得分:0)
我这样做...... 我会告诉你我的工作,然后你可以将它复制到你的公司
我有一个名称相同的列,每次我输入一个我已经拥有的名称,我将另一列标记为唯一或重复。
为此,我使用这个公式 = IF(COUNTIF($ B $ 2:$ B $ 100; $ B $ 2:$ B $ 100)= 1;"唯一&#34 ;;"重复");
让我试着解释一下:
NAME-COLUMN | UNIQUE-COLUMN
---------------------------
JORGE | UNIQUE
JOHN | REPEATED
ROBERT | UNIQUE
MARIA | UNIQUE
JOHN | REPEATED
检查一下它是否对您有帮助。
答案 1 :(得分:0)
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
只需遍历指示的行和填写您使用的公式的所有列。