美文网首页VBA分享专栏Excel 加油站
Excel VBA之函数篇-3.13区分订单号再进阶,是否含有某

Excel VBA之函数篇-3.13区分订单号再进阶,是否含有某

作者: Excel和VBA | 来源:发表于2021-01-29 14:03 被阅读0次

    来源于公众号:Excel和VBA

    前景提要

    通过了之前的学习,我们现在现在已经了解了like()的比较常用的两个用法,一种是判断字符组成,一种是通过起始符和长度来判断,在日常的工作中,如果能够熟练的掌握上面的两种方法的话,一些常用的场景,应该都能够通过VBA进行区分了,不过上述两种方法,并不是like()函数的所有的使用方法,他还有其他的一些比较实用的方法,今天我们来说下通过结构中是否包含某个元素来进行区分。

    函数说明

    这里说的是否含有某种元素的说法,并不恰当,准确是应该是说是否含有字符或者是字符串,比方说我们上节分享的案例中,京东商城的订单都是JD开头的,当时我们是通过判断字符串的开头是否含有JD来实现区分的,其实我们也可以通过判断字符串中是否含有JD来进行区分,这样更加的通用一些,因为JD这个标志的字母,不一定出现在开头,可能在结尾,也可能在中间,在那种场合下,通过判断是否含有某字符串才是最好的方法。

    上代码

    我们通过上述的描述,模拟的场景是这样的,依然是用京东的订单号作为模拟对象,不过标志性的JD不一定出现在前面,也可以在后面,中间

    image.png

    假设各种不同类型的订单号,分别代表了不同的收货区域,并且订单中并不仅仅是只有京东的订单,那么我么要如何区分那些是京东的呢?开头?不行啊,有一些不是开头的啊,结尾,也不行啊,有些还在中间呢?那么怎么办?这就可以使用到今天我们讲要学习的通过是否包含的方式来区分了。

    Sub tes()
    
    Dim i&
    
    For i = 2 To 10
    
        If Cells(i, "i") Like "*JD*" Then
    
            Cells(i, "i").Offset(0, 1) = "京东商城"
    
            Else
    
                Cells(i, "i").Offset(0, 1) = "非京东商城"
    
        End If
    
    Next i
    
    End Sub
    

    效果如下图:

    image.png

    完美的实现了我们的需求

    代码解析

    今天的代码也是很简单,我们重点还是突出like()方法的使用,今天我们要学习的是如何判断单元格中是否包含某字符串,我们要判断的是是否含有JD这个表示,所以

    If Cells(i, "i") Like "*JD*" Then
    

    代码我们这样来实现,也非常的好理解,*代表的就是其他字符,可有可无,这样写的意思就是说只要单元格中含有了JD,不管是在开头,结尾,还是中间,都符合这样的表达式,满足条件我们就标识 出来,这是京东的订单,不符合就标识非京东,这样就可以很方便的区分了。

    完整代码及注释

    Sub tes()
    
    Dim i&
    
    For i = 2 To 10
    
        If Cells(i, "i") Like "*JD*" Then '判断是否含有JD这两个标识
    
            Cells(i, "i").Offset(0, 1) = "京东商城"
    
            Else
    
                Cells(i, "i").Offset(0, 1) = "非京东商城"
    
        End If
    
    Next i
    
    End Sub
    

    相关文章

      网友评论

        本文标题:Excel VBA之函数篇-3.13区分订单号再进阶,是否含有某

        本文链接:https://www.haomeiwen.com/subject/lepqtltx.html