首页

文章

excel vba 判断查找数据

发布网友 发布时间:2022-04-20 02:09

我来回答

5个回答

热心网友 时间:2023-07-21 17:54

Private Sub CmdAdt_Click() '审核上级产品代码是否存在
Dim kk As Boolean
Dim Totalrows As Integer
Dim ci As Integer, j As Integer, jj As Integer
jj = 0
kk = True
With ActiveSheet
Totalrows = .Cells(65536, 1).End(xlUp).Row
For ci = 3 To Totalrows
If .Cells(ci, 8) = "是" Then
If .Cells(ci, 9) = "" Then '如果没有填上级代码就在H列显示红色
.Cells(ci, 8).Interior.ColorIndex = 3
Else
For j = 3 To Totalrows
If Cells(j, 2) = Cells(ci, 9) Then '只要找到就不用再找了,直接退出for循环
kk = True
jj = j
Exit For
Else
kk = False '找不到,接着找
End If
Next j
If kk = False Then
.Cells(ci, 9).Interior.ColorIndex = 3 '如果上级代码找不到就在H列显示红色
End If
End If
End If
Next ci
End With
End Sub

改成这样了,应该没啥问题了。采纳把

再改一下:
Private Sub CmdAdt_Click() '审核上级产品代码是否存在
Dim kk As Boolean
Dim Totalrows As Integer
Dim ci As Integer, j As Integer, jj As Integer
jj = 0
kk = True
Dim ti As Double
ti = Timer
With ActiveSheet
Totalrows = .Cells(65536, 1).End(xlUp).Row
For ci = 3 To Totalrows
If .Cells(ci, 8) = "是" Then
If .Cells(ci, 9) = "" Then '如果没有填上级代码就在H列显示红色
.Cells(ci, 8).Interior.ColorIndex = 3
jj = jj + 1
Else
For j = 3 To Totalrows
If Cells(j, 2) = Cells(ci, 9) Then '只要找到就不用再找了,直接退出for循环
kk = True
Exit For
Else
kk = False '找不到,接着找
End If
Next j
If kk = False Then
.Cells(ci, 9).Interior.ColorIndex = 3 '如果上级代码找不到就在H列显示红色
jj = jj + 1
End If
End If
ElseIf .Cells(ci, 8) = "" Then
.Cells(ci, 8).Interior.ColorIndex = 3
jj = jj + 1
End If
Next ci
If jj > 0 Then
MsgBox "总共找到" & vbCrLf & jj & vbCrLf & "处错误!耗时" & Timer - ti & "秒!", vbInformation, "提醒"
Else
MsgBox "恭喜没有发现错误!" & vbCrLf & "耗时" & Timer - ti & "秒!", vbInformation, "提醒"
End If
End With
End Sub来自:求助得到的回答

热心网友 时间:2023-07-21 17:55

在E2使用如此公式,然后下拉即可。用VBA如法炮制也可
=IF(C2="是",IF(D2="","请填写上级代码",IF(ISERROR(VLOOKUP(D2,B:B,1,FALSE)),"请检查上级代码是否存在","")),"")

热心网友 时间:2023-07-21 17:55

A B C D
名称 代码 是否是下级 上级代码
蔬菜 10000 否
苹果 20001 是 20000
梨 20003 是 20000
黄瓜 20004 是 20000
水果 20000 否

热心网友 时间:2023-07-21 17:56

Sub a()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
Dim R As Long
R = Range("A65536").End(xlUp).Row
Range("d2:d" & R).Interior.ColorIndex = 0
Dim MyArr
MyArr = Range("a2:d" & R)
Dim i As Long
For i = 1 To UBound(MyArr)
If MyArr(i, 3) = "是" Then
If MyArr(i, 4) = "" Then
Range("d" & i + 1).Interior.ColorIndex = 3 '红色D列无代码
End If
End If
Next i
For i = 1 To UBound(MyArr)
d(MyArr(i, 2)) = ""
Next i
For i = 1 To UBound(MyArr)
If MyArr(i, 4) <> "" Then
If Not d.exists(MyArr(i, 4)) Then
Range("d" & i + 1).Interior.ColorIndex = 6 '*为B列中无代码
End If
End If
Next i
End Sub

热心网友 时间:2023-07-21 17:56

Excel 2016 怎么使用通配符查找数据

乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) excel中如何用VBA查找值并返回另一列对应的值 【excel+vba】如何查找某个表格里的数据并且将相关... Excel 如何用vba实现模糊查找 excel 使用 VBA 查找和替换 在excel中如何用vba来实现查找特定的字符串? EXCEL VBA查找内容 EXCEL使用VBA查询数据 高分急问 Excel vba 要是用find函数查找内容,找不到怎么办? Excel vba如何实现查找多个值之一? Excel VBA查询 在EXCEL中 如何用VBA查找某特定单元格并返回该单元... 如何VBA实现在Excel中自动查找某单元格的内容? EXCEL如何用VBA实现多条件查询数据? 苹果11怎么打开gps定位 香水中排名前十位的品牌都有哪些? 这个是什么牌子的香水 香水大牌子有哪些 bt是什么牌子口红 服装品牌排行榜是怎样的? 如何开一家化妆品店? VBA查找文件夹下所有excel文件中的相关数据 Excel 求助VBA实现1对多数据查找 Excel怎样用VBA查找指定内容并返回值 Excel 如何通过VBA找出最后一行数据所在的列 excel vba查找内容(求助高手) 怎样开启GPS 素馅饺子的做法 素馅饺子有哪些馅? 素饺子馅有哪些呢? 十种最好吃的素饺子馅有什么? 素饺子馅有哪些 种类 素饺子馅有哪些及怎么做好吃 十种最好吃的饺子馅素馅 除夕素馅饺子馅的做法 素馅的饺子有哪几种 家常素馅饺子馅做法大全窍门 素饺子馅大全食谱有哪些 素饺子啥馅最好吃? 素饺子馅的做法大全 素馅水饺的配方大全
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com