使用excel vba自动对比两列时间数字

有两列时间数字,格式都一样,需要将这两列进行比较,数列1的每一行在数列2中查找是否存在,如果不存在就将数列1中的这一行标注颜色,或其他方法剔出,就是数据很多,如果排序也很麻烦,所以想有没有用vba自动对比的方法,请高手指教。

相信使用条件格式,是最简单的。

选定数列1,再依次选择菜单 格式 条件格式 弹出条件格式对话框

第一个下拉框选 公式,后面框中输入 =COUNTIF($B$2:$B$15,"=" & $A2)=0

格式再选择下自己喜欢的

下面图是个简单例子

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-24
用公式 =if(countif(b:b,A1),1,0)
在数列1第一个格旁边新插一行,在新单元格里粘贴上面的公式,其中A1为数列1的第一个单元格地址,b:b为数列2的区域,比如数列2在b列,那就是b:b。然后向下填充。如果数列1的结果在数列2存在,则返回"1",不存在则返回"2".把新算的这行原地选择性粘贴数值一次,排序后标颜色即可追问

你好,我试验了可以,但是我试验了两行就不行了,返回值都是0,这是问什么,我可以加你为百度好友吗?

追答

加我好友 给你搞定

追问

加你的了,怎么加?

追答

刚才在开会,抱歉 我的邮箱meteorwxl@163.com 请把您的excel发给我 说明需求 我给您搞定

本回答被提问者采纳
第2个回答  2011-02-24
Sub 清除不同数据()
Dim iObjRange As Range: Set iObjRange = Range("A1:A10000") '对比的目标区域
Dim iFindRange As Range: Set iFindRange = Range("B:B") '查找的目标区域
Dim iResult As Range: Set iResult = Range("A:A") '结果的输出区域
Dim iCell As Range, iFind As Range
For Each iCell In iObjRange
If iCell <> "" Then
Set iFind = iFindRange.Find(iCell.Value, LookIn:=xlValues, LookAt:=xlWhole)
If iFind Is Nothing Then
iResult.Cells(iCell.Row, 1).Value = ""
End If
End If
Next
End Sub
第3个回答  2011-02-24
dim lastRow, i, j as integer
lastRow = activesheet.usedRange.Rows.count
for i = 1 to lastrow
if Cells(i,1) = "" then exit sub
for j = 1 to lastrow
if Cells(i,1) = cells(j,2) then
exit sub
else
if cells(i,1).rows = lastrow then cells(i,1).interior.colorindex = 5
end if
next j
next i
第4个回答  2011-02-24
Sub find1()
Sheets("sheet1").Select
finalrow = Cells(63333, 1).End(xlUp).Row

For i = 2 To finalrow
If Application.CountIf(Range(Cells(2, 2), Cells(2, finalrow)), Cells(i, 1)) = 0 Then
Cells(i, 1).Select
Selection.Interior.ColorIndex = 44
End If
Next i
End Sub

使用excel vba自动对比两列时间数字
第一个下拉框选 公式,后面框中输入 =COUNTIF($B$2:$B$15,"=" & $A2)=0 格式再选择下自己喜欢的 下面图是个简单例子

在excel中,用VBA实现两列数据的比较
实现代码如下:1234567891011121314151617Sub abc() Dim D As Object, i As Integer, index As Integer Set D = CreateObject("scripting.dictionary") With Sheet1 For i = 1 To Range("b65536").End(xlUp).Row D(.Cells(i, 2).Value) = "" Next For i = 1 To R...

Excel VBA 怎样进行时间比较大小
只要是时间格式可以用if直接比较。例如下面这个自定函数就是求两个时间中哪一个时间最接近当前日期:Function TimeCompared(a as date,b as date) as date if a>=b then TimeCompared=a else TimeCompared=b end if End Function Sub test() ‘函数的调用 dim a as date,b as date a="2007...

Excel VBA 怎样进行时间比较大小
只要是时间格式可以用if直接比较。例如下面这个自定函数就是求两个时间中哪一个时间最接近当前日期:Function TimeCompared(a as date,b as date)as date if a>=b then TimeCompared=a else TimeCompared=b end if End Function Sub test()‘函数的调用 dim a as date,b as date a="2007-7...

VBA时间如何进行比较?
1.数字越大,时间越大,这个数字是从1900-1-1开始往后算的,1900-1-1就是1,往后一天再加1,当时一小时就是1\/24。2.如果在VBA里面比时间大小的话就直接把这两个数字相比较就可以了,如果要算两个时间的时间差就直接相减。3.VBA 是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual ...

excel VBA中时间类型数据怎么比较
这么简单的应该不需要用vba吧,直接选择一个单元格做绝对变量,然后在单元格中输入想对比的日期,然后增加一列设置数值型,取考勤时间和这个时间的差,然后排序就可以看见了。这个顺序是来得越早的人越在前面,如果想看最接近七点半的人,可以在公式里加个if判断,为负时取反就可以。如果需要多个时间段...

求助excel vba 算时间差
- Time_2(1)) * 60 + (Time_1(2) - Time_2(2))) _& "秒"Next End Sub A列输入开始时间 (从A1开始)格式最好是 (2010\/10\/5 23:59:18 是“\/”2010-10-10 23:59:18 是“-”)B列输入结束时间 (从B1开始)插入个按钮链接宏 (Macro1)点击按钮C列将是所要结果 试试吧 ...

excel vba 计算时间差 急!!T.T
1.45小时和1小时45分,可不一样呀。直接相减即可 在C2中输入:=B2-A2 然后把C2设置成时间格式 结果是:1:45 VBA Range("C2")=Format(Range("B2")-Range("A2") "h:mm")

EXCEL VBA如何实现“不同工作表间自动核对并查找相关数据”?
画到excel上,然后到宏里面去编程序,假设你按钮的名字叫按钮1 程序如下:Sub 按钮1_单击()For i = 1 To 1000 If Cells(i, "D") = Cells(2, "C") Then Cells(1, "F") = i Exit For End If Next i End Sub 我最终显示的行数i显示到F列第一格。当你点按钮,就出来结果了 ...

excel如何让两列数据对比自动匹配
有两种可能,一,如果数据是手工录入的,那就将AB列与EF列,交换位置,然后用公式:=VLOOKUP(E2,A:B,2,0)二,如果数据是公式得到的,或是不能移动,那就得用VBA写代码了。

相似回答