12, excel vba 常用字符串处理函数

处理excel数据 很多时候要和字符串打交道, 比如

0,想要知道一个字符串的长度是多少? 

1, 判断字符串是不是含有你需要的字符

2, 截取字符串的某一个部分

3, 将字符串里的某个字符进行替换

4, 把字符串按某个字符分割出来

接下来一一介始这几个函数, 

 

 

0,用 len() 函数获得一个字符串长度

Public Sub  点点didi12()
    
     my_string = "diandian didi"
     str_len = Len(my_string)
     Debug.Print str_len
 

End Sub
 

运行一个,就可以在 立即窗口中看到长度值

12, excel vba 常用字符串处理函数_第1张图片

 

 

 

1, 使用 instr() 判断是不是含某个字符,如果有,就会返回该字符出现的位置

Public Sub diandiandidi12()
    
     my_string = "diandian didi"
     my_exp = "an"
     
     Index = InStr(my_string, my_exp)
    
     If Index > 0 Then
        Debug.Print Index
        
     Else
        Debug.Print "sorry ,no find you exp char"
         
     End If
    
    

End Sub
 

如果字符串中有你需要的字符, 就会返回该字符第一次出现的位置, 如果没有,就说下sorry.运行结果如下, 你也可以复制该代码,改下 my_exp的值试试看

12, excel vba 常用字符串处理函数_第2张图片

 

2 ,使用 left()  mid() ,right() 截取字符串. 

 left是左截取, 从字符串左边开始,截取你需要的字符个数, right则从右边开始. mid的话,需要你输入字符串截取的位置和函数

接下来给大家演示下这三个函数

Public Sub diandiandidi12()
    
     my_string = "start diandian didi end"
     
     start_index = 3
     jiequ_len = 5
     
     left_char = Left(my_string, jiequ_len)
     Debug.Print "left 5 char: " & left_char
    
     
      right_char = Right(my_string, jiequ_len)
     
      Debug.Print "right  5 char: " & right_char
      
      
      mid_char = Mid(my_string, start_index, jiequ_len)
      Debug.Print "mid_char  5 char: " & mid_char

End Sub
运行结果如下:

12, excel vba 常用字符串处理函数_第3张图片

 

3 ,使用 replace() 把字符串中的某个字符替换成其它字符. 接下来把字符串中的an 替换成love

Public Sub diandiandidi12()
    
     my_string = "start diandian didi end"
     
     find_char = "an"
     replace_char = "love"
     
     replace_result = Replace(my_string, find_char, replace_char)
     
     Debug.Print replace_result
     
    
End Sub

运行结果:

12, excel vba 常用字符串处理函数_第4张图片

 

4 ,使用 split() 把字符串按某个字符分割, 接下来把字符串按 an字符进行分割 

      Public Sub diandiandidi12()
    
     my_string = "startdiandiandidiend"
     
     split_char = "an"
     
     split_results = Split(my_string, split_char, -1)
     
     For Each result In split_results
      
        Debug.Print result
        
     Next
     
     
    
End Sub

 

运行后如下:

12, excel vba 常用字符串处理函数_第5张图片

split_results = Split(my_string, split_char, -1)  这句中, 最后面的 -1 ,表示返回所有的分割结果, 这里看到,返回了三个分割的结果.

这个分割函数执行后,返回的是一个数组, 也就是split_results是一个数组, 数组是一种数据结构, 你可以把这种结构想像成一排柜子,每个柜子都有一个序号, 从0开始进行标号,每个柜子里都可以放一些东西, 在这里的话, 可以画草图给大家做个理解:

12, excel vba 常用字符串处理函数_第6张图片

split_results可以看成有三个柜子组成的数组, 如果你想得到里面的某个数据, 可能用 数组名(index) 的方式, 比如你想得到第一个数据  , 就可以用   split_results(0)    , 哦, 这里的序号是从0开始的. 0 到1到2...

Public Sub diandiandidi12()
    
     my_string = "startdiandiandidiend"
     
     split_char = "an"
     
     split_results = Split(my_string, split_char, -1)
     
     Debug.Print "the first split result is : " & split_results(0)
     
     
    
End Sub
 

12, excel vba 常用字符串处理函数_第7张图片

 

 

常用函数的话还有 trim()  ,可以把字符串前后的空字符串去掉, 如果你想了解更多函数,就需要靠你自己百度or 谷歌啦. 

你可能感兴趣的:(Excel_vba学习)