VBA 在第二个sheet中查找第一个sheet中不存在的值
 Sub Macro2()
'
' Macro2 Macro
' 宏由 Lizm 录制,时间: 2019/04/10
'
 
'
Dim colSvcId As Integer
Dim i As Integer
Dim j As Integer
j = 47
Dim valS As String
Dim findRes As Boolean
 
'查找service_id
For rowSvcId = 2 To 43
 
    valS = Range("C" & rowSvcId).Text
    
    If Len(valS) > 0 Then
        findRes = False
        
        ' 在sheet4中查找
        For i = 5 To 78
            If InStr(1, Sheets("Sheet4").Cells(i, 3).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        '在sheet5中查找
        For i = 4 To 22
            If InStr(1, Sheets("Sheet5").Cells(i, 3).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        
        
        If (findRes = False) Then
                Sheets("Sheet3").Range("C" & j).Value = valS
                j = j + 1
        End If
    End If
    
Next
 
 
 
 
 
 
 
'查找packageName(HU)
j = 47
For rowPkgNm = 2 To 43
    valS = Range("D" & rowPkgNm).Text
    
    If Len(valS) > 0 Then
        findRes = False
        
        ' 在sheet4中查找
        For i = 5 To 78
            If InStr(1, Sheets("Sheet4").Cells(i, 4).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        '在sheet5中查找
        For i = 4 To 22
            If InStr(1, Sheets("Sheet5").Cells(i, 4).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        
        
        If (findRes = False) Then
                Sheets("Sheet3").Range("D" & j).Value = valS
                j = j + 1
        End If
    End If
    
Next
 
 
 
 
 
'查找base_url
j = 47
For rowBaseUrl = 2 To 43
    valS = Range("F" & rowBaseUrl).Text
    
    If Len(valS) > 0 Then
        findRes = False
        
        ' 在sheet4中查找
        For i = 5 To 78
            If InStr(1, Sheets("Sheet4").Cells(i, 6).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        '在sheet5中查找
        For i = 4 To 22
            If InStr(1, Sheets("Sheet5").Cells(i, 6).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        
        
        If (findRes = False) Then
                Sheets("Sheet3").Range("F" & j).Value = valS
                j = j + 1
        End If
    End If
    
Next
 
 
 
 
 
'查找client
j = 47
For rowClient = 2 To 43
    valS = Range("G" & rowClient).Text
    
    If Len(valS) > 0 Then
        findRes = False
        
        ' 在sheet4中查找
        For i = 5 To 78
            If InStr(1, Sheets("Sheet4").Cells(i, 7).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        '在sheet5中查找
        For i = 4 To 22
            If InStr(1, Sheets("Sheet5").Cells(i, 7).Text, valS, 1) > 0 Then
                findRes = True
                Exit For
            End If
        Next
        
        
        If (findRes = False) Then
                Sheets("Sheet3").Range("G" & j).Value = rowClient
                j = j + 1
        End If
    End If
    
Next
 
End Sub

VBA 在第二个sheet中查找第一个sheet中不存在的值的更多相关文章

  1. C#中怎么判断一个数组中是否存在某个数组值

    (1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...

  2. 解决tomcat下面部署多个项目log4j的日志输出会集中输出到一个项目中的问题

    在一次项目上线后,发现了一个奇怪的问题,经过对源码的阅读调试终于解决,具体经过是这样的: 问题描述:tomcat7下面部署多个项目,log4j的日志输出会集中输出到一个项目中,就算配置了日志文件的绝对 ...

  3. [转载]android工程中引入另一个工程中的资源

    原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以 ...

  4. 纯JS实现在一个字符串b中查找另一个字符串a出现的所有位置,并且不使用字符串的方法(递归)

    问题:判断字符串A在中所有出现字符串B中(长度大于1)的索引.不得使用字符串方法indexof,substring等 有小伙伴在面试遇到了这个问题,乍一看如果使用使用字符串方法indexof,subs ...

  5. Linux下利用json-c从一个json数组中提取每一个元素中的部分字段组成一个新json数组

    先把代码贴上来,有时间整理一下 首先说一下要实现的功能: 假定现在有一个json格式的字符串,而且他是一个josn中的数组,比如: [ { "id": "NEW20170 ...

  6. 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串

    --当charindex返回值大于0时则包含 为0不包含 select CHARINDEX('456','123456')   SQL语句使用CHARINDEX函数,来测试一个字符串中是否包含另一个字 ...

  7. 在sql server中如何检测一个字符串中是否包含另一个字符串

    select CHARINDEX('456','123456')   SQL语句使用CHARINDEX函数,来测试一个字符串中是否包含另一个字符串中的方法: 一.CHARINDEX函数介绍 1.函数功 ...

  8. 在一个apk中调用另外一个apk中的activity

    今天忽然想到如果要在一个activity中调用另外一个activity该怎么办呢? 感觉这个应该比较简单,应为activity的启动方式就两种:显式启动.隐式启动: 显式启动的话肯定不行,那就只能使用 ...

  9. bug日记之---------js中调用另一个js中的有ajax的方法, 返回值为undefind

    今天做一个OCR授权的需求, 需要开发一个OCR弹框, 让用户选择是否授权给第三方识别公司(旷世科技)保存和识别用户个人信息, 照片等. 其中用到了在一个js的方法中调用另外一个js的方法, 其中有一 ...

随机推荐

  1. Java中对象创建时的内存分配

    一.前言知识铺垫   1.逃逸对象:在一个方法内创建的对象没有被外界引用则称该对象为未逃逸的对象. 2.JDK1.6以后的HotSpot虚拟机支持运行时的对象逃逸分析. 3.JVM中的参数配置: 1) ...

  2. 启动第二个activity,然后返回数据给第一个数据

    第一个activity启动的代码: intent = new Intent(MainActivity.this, Main2Activity.class); startActivityForResul ...

  3. sql server 中常用修改列 ,创建主外键操作

    表结构 CREATE TABLE [staff] ( [id] [varchar](50) NOT NUL L, [name] [varchar](50) NOT NULL, [password] [ ...

  4. 3D 飞行器航迹规划

    3D-Route-Planning 三维航迹规划 -Matlab 本次代码主要解决数学建模中多约束条件下的航迹规划问题 解决的问题如下:   复杂环境下航迹快速规划是智能飞行器控制的一个重要课题.由于 ...

  5. (java实现)顺序表-ArrayList

    什么是顺序表 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构. 在使用顺序表存储数据前,会先申请一段连续的内存空间(即数组),然后把数组依次存入 ...

  6. alpha测试和beta测试的区别

    alpha测试版,有点相当于内部测试,一般开发人员在场   ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试  beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一 ...

  7. java List转换和数组互转

    1.List转Array ArrayList<String> list=new ArrayList<String>(); String[] strings = new Stri ...

  8. CSS3 transform属性

    说明: transform 属性向元素应用 2D 或 3D 转换.该属性允许我们对元素进行移动(translate).旋转(rotate).缩放(scale)或倾斜(skew) transition属 ...

  9. python datetime和time的一些疑惑解答 及 获取上年同期、上月等日期

    关于datetime和time有几个疑惑的 1.datetime.datetime.now()——为什么需要两个datetime才能返回当前时间,同样的time只需要time.localtime() ...

  10. Java 学习笔记之 Sleep停止线程

    Sleep停止线程: 在Sleep状态下被interrupt,interrupted 状态会被擦除,返回false. 线程在Sleep状态下被interrupt: public class Sleep ...