⑴ excel中请用VBA提出两列数据中相同的数来。
亲,打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。
Subcz()
DimfAsRange:Dimi,nAsInteger
n=3357:Columns("D").NumberFormat="@"
Fori=3357To3343Step-1
Setf=Range("B3343:B3357").Find(Range("A"&i).Value)
IfNotfIsNothingThenRange("C"&n).Value=i:Range("D"&n).Value=Range("A"&i).Value:n=n-1
Next
EndSub
⑵ 求助!请高手赐教,我需要用一个VBA代码实现两列数据查重
Sub 重复判断()
Dim i, j, k, n As Integer
Dim t, t1
i = 1
n = 1
Do While Cells(i, 3) <> "" '如果单元格,不为空,进入循环,注意C列不能右空单元格
t = Cells(i, 3) '取出C列单元格
j = Sheet1.Range("a65536").End(xlUp).Row '取出A最大非空单元格
For k = 1 To j '取出A列单元格,比例C列单元格数据,是否等于A列单元格
t1 = Cells(k, 1)
If t = t1 Then
Cells(n, 2) = t1 '如果重复,则对B列单元格赋值
End If
Next
If Cells(n, 2) = "" Then '上面只是判断是否重复,并输入了重复单元格,不重复,单元格就是空的
Cells(n, 2) = "不重复"
End If
n = n + 1
i = i + 1
Loop
End Sub
小白乱写的
⑶ VBA用两种方法找出两列数据相同项
一种直接使用表格函数vlookup进行匹配
第二,可以使用字典进行匹配处理
第三,可以使用find函数进行查找匹配
第四,就是两层for循环直接进行匹配
⑷ VBA中判断单元格内容是否相同
用函数like
设定两个变量a,b接收两个单元格的数据,flag变量得到比较结果。
a=range("a1");b=a=range("b1")
flag=
a
like
b
如果flag=true,则表示两个单元格数据相同;false值,数据不同。
⑸ Excel VBA如何标记重复出现的数据
插入一列C,全部向下应用填充数字1,再插入一列D2里写公式:
=SUMIF($A2:A2,A2,$C2:C2)
然后筛选D2不是1的都是重复的项
⑹ 用VBA检查EXCEL中两列数据的重复数据
这个用2嵌套的循环来实现比对就可以了,A列第一个数据和B列第一个数据比对,
如果不重复就转到B列第二个,如果重复了就转到A列第二个,依次比对。大概十几句代码吧,添加一个按钮: (假定数据从第二行开始)
Private Sub CommandButton1_Click()
ROW_A = 2: ROW_B = 2
ENDROW_B = [A65536].End(xlUp).Row
Do While Cells(ROW_A, 1) <> ""
Do While Cells(ROW_B, 2) <> ""
If Cells(ROW_A, 1) = Cells(ROW_B, 2) Then
Cells(ROW_B, 2).Interior.ColorIndex = 6
MsgBox ("B" & ROW_B & "行出现重复")
Exit Do
Else: If ROW_B = ENDROW_B Then
Exit Do
Else: ROW_B = ROW_B + 1
End If :End If
Loop
ROW_A = ROW_A + 1
ROW_B = 2
Loop
End Sub
⑺ VBA 判断数据重复
有个取巧的手段。
客户名称在b列
可用
if application.countif(range("b1:b65536"),cells(4,2))>1 then
msgbox "有重复"
exit sub
else
r=range("b65536").end(3).row+1
range("a4:h4"). range("a"& r)
msgbox "添加成功"
end if
其他的你自己修改下
⑻ 如何用VBA检查新的一组数据和旧的数据是重复的
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tr, tc
tr = Target.Row
tc = Target.Column
If tr >= 1 And tc = 2 Then
x = tr Mod 2
y = WorksheetFunction.CountIf(Range("b:b"), Cells(tr - 1, 2))
Z = WorksheetFunction.CountIf(Range("b:b"), Cells(tr, 2))
If x = 0 And y >= 2 And Z >= 2 Then
Cells(tr, 2) = ""
Cells(tr - 1, 2) = ""
MsgBox "输入的数据重复,被清除"
End If
End If
End Sub
试下