精华内容
下载资源
问答
  • VBA示例之 从字符串提取纯数字,供初学者参考,大牛勿进~~~~~~~
  • 提取字符指定类型的字符_Excel VBA应用.rar,在实际工作中经常需要从字符串中提取指定类型的字符,假设目标字符串为“I Love Excel Home中123-45文 论67890坛”,利用本例介绍的代码能够提取其中的字母、数字和中文...
  • VBA提取字符串中的数字

    千次阅读 2021-04-26 15:15:28
    上一篇讲了用 python 提取字符串中的数字,这次用VBA来事项。总体思路和 python 是一样的,代码如下: Option Explicit Sub GetNumbers() Dim from_string As String, convert_numbers As String Dim i, j, k, ...

    上一篇讲了用 python 提取字符串中的数字,这次用VBA来实现。总体思路和 python 是一样的,代码如下:

    Option Explicit
    
    Sub GetNumbers()
        
        Dim from_string As String, convert_numbers As String
        Dim i, j, k, m, first_number_location
        Dim i1 As String
        Dim check_start(9) As String, check_end(10) As String
        Dim split_string() As String, get_numbers() As String
        
        ' 给 from_string 赋值
        from_string = Cells(1, 1)
        from_string = CStr(from_string)
        
        ' 先求出 check_start 和 check_end
        ' 用于后续检验 from_string 中每个字符是否是数字
        For i = 0 To 9
            i1 = CStr(i)
            check_start(i) = i1
            check_end(i) = i1
        Next i
        
        check_end(10) = "."
        
        ' 将 from_string 拆分,每个字符都存到 split_string 中
        ReDim split_string(Len(from_string) - 1)
        For i = 1 To Len(from_string)
            split_string(i - 1) = Mid(from_string, i, 1)
        Next i
        
        
        ' 先求出 split_string 中第一个数字及其位置
        For i = LBound(split_string()) To UBound(split_string())
            For j = LBound(check_start()) To UBound(check_start())
                If split_string(i) = check_start(j) Then
                    ReDim get_numbers(UBound(split_string) - i)
                    get_numbers(0) = split_string(i)
                    first_number_location = i
                    GoTo GetFirstNumberAlready
                End If
            Next j
        Next i
        
    GetFirstNumberAlready:
        m = 1
        
        ' 从第一个数字开始,求出之后紧连的每个数字,包括小数点
        For j = first_number_location + 1 To UBound(split_string())
            For k = LBound(check_end()) To UBound(check_end())
                If split_string(j) = check_end(k) Then
                    get_numbers(m) = split_string(j)
                    m = m + 1
                End If
            Next k
        Next j
        
        ' 把 get_numbers() 输出
        For j = LBound(get_numbers()) To UBound(get_numbers())
            convert_numbers = convert_numbers & get_numbers(j)
        Next j
        
        MsgBox convert_numbers
        
    End Sub
    
    展开全文
  • VBA提取字符串纯数字的方法

    千次阅读 2020-07-05 16:54:26
    如下要提取单元格里得数字,怎么才能实现?很简单,一个自定义函数马上搞定。 代码如下 在VBE编辑窗口插入一个模块,记得是要在模块上写函数代码。 选择插入菜单,选择过程的函数,命名函数名(根据自己的喜好定义...

    看到这个有博友将对这种简单的方法都要设置付币才能下载查看,我觉得太low了,知识只有分享才能走得更远。如下要提取单元格里得数字,怎么才能实现?很简单,一个自定义函数马上搞定。
    在这里插入图片描述
    代码如下
    在VBE编辑窗口插入一个模块,记得是要在模块上写函数代码。
    在这里插入图片描述
    选择插入菜单,选择过程的函数,命名函数名(根据自己的喜好定义函数名称,建议使用见文生义的命名方式)。
    在这里插入图片描述
    在这里插入图片描述
    实现的代码如下:
    在这里插入图片描述
    这样函数就完成了,任意单元格里输入函数=NumExtract(要提取的单元格),就可以将数字提取出来,当然还有其它方法实现,这里只给大家提供其中一个解决的方法。
    在这里插入图片描述在这里插入图片描述
    是不是很简单?

    展开全文
  • '示例:=myget(srg,1,3)'从第 3 位开始取出中文字符' =myget(srg,2)'从第 1 位开始取出英文字母,第 3个参数省略默认为 1' =myget(srg,,5)'从第 5 位开始取出数字,第 2个参数省略默认为 0' =myget(srg) '第 2、3 个...
  • VBA正则提取A字符串之后B字符串之前中间的内容.txt
  • 问题:提取check之后的数字 来源:Excelhome Sub 提取数字() Dim regexp As New regexp With regexp .Pattern = "check\s*(\d+)" End With With Worksheets("sheet1") r = .Cells(.Rows.Count, 1).End(xlUp).Row...

    问题:提取check之后的数字

    来源:Excelhome

     

    Sub 提取数字()
    Dim regexp As New regexp
    With regexp
    .Pattern = "check\s*(\d+)"
    End With
    With Worksheets("sheet1")
    r = .Cells(.Rows.Count, 1).End(xlUp).Row
    arr = .Range("a1:b" & r)
    For i = 1 To UBound(arr)
    Set mh = regexp.Execute(arr(i, 1))
    arr(i, 2) = mh(0).SubMatches(0)
    Next
    .Range("a1:b" & r) = arr
    End With
    End Sub

    转载于:https://www.cnblogs.com/susuye/p/7403503.html

    展开全文
  • word vba 如何查找出一个字符串中包括了多少个指定字符串? Sub at() aaaa = "ASDFSF。ASDF。SDF。234。'XCV。d" '第1种方法 bbb = Replace(aaaa, "。", "") cccc = Split(aaaa, "。") CS1 = Len(aaaa) - Len...

    word vba 如何查找出一个字符串中包括了多少个指定子字符串?

    Sub at()
    
    aaaa = "ASDFSF。ASDF。SDF。234。'XCV。d"
    
    '第1种方法
    bbb = Replace(aaaa, "。", "")
    cccc = Split(aaaa, "。")
    CS1 = Len(aaaa) - Len(bbb)
    
    
    '第2种方法
    CS2 = UBound(Split(aaaa, "。"))
    
    End Sub

    第1种方法,主要使用了replace函数和len函数。

    对比替换前后的字符串的长度差值,该差值即是。

     

    第2种方法:

    使用split函数后,用ubound函数求出得到数组的上标数值。

    该上标值即是。

    展开全文
  • 说明:第一参数:StrR 为引用单元格,第二参数 StrH 为分割字符,第三参数 I 为摘取第几个子字符串 ,供初学者参考,大牛勿进~~~~~~~
  • k + 1) = arr2(i) Next Sheets("数据提取").Select Application.ScreenUpdating = True End Sub Sub cls() Application.DisplayAlerts = False Range("a1:j10000").Clear For i = Sheets.Count To 1 Step -1 If ...
  • @VBA字符串操作:从右向左截取特定分隔符的内容 熟悉EXCEL函数的朋友遇到截取字符串的时候第一个想到的肯定是FIND()、 LEN() 、LEFT()、**RIGHT()**这一套操作, 但很遗憾VBA里面的FIND针对的是Range对象,用到字符...
  • '测试:将“abc@@eee”中的@@提取出来 Sub test() MsgBox GetValueByRegex("abc@@eee", "abc(.*?)eee") End Sub Function GetValueByRegex(ByVal OrgStr As String, ByVal PatternStr As String) Set re = ...
  • VBA快速合并字符串方法

    千次阅读 2020-12-23 02:16:44
    本文将就讲一下VBA中快速连接字符串的集中方法。 我们使用一个简单的示例,提取1-10中的偶数并输出结果,判断偶数非常简单,程序主框架如下。 Sub Demo() Dim i As Integer, msg As String For i = 1 To 10 If ...
  • 上次我介绍了有规律字符串提取方法,使用excel自带函数RIGHT()和LEN()实现。但是对于要提取字符串如果我们不能确定其字符数, 那么我们使用这种方式就无能为力。如下要提取H列里每个单元格课程的名称,课程名称...
  • VBA巧妙处理字符串连接

    万次阅读 2020-04-05 11:28:35
    字符串连接是经常需要用到的功能,在VBA代码中可以使用`+ `也可以使用`&`运算符,似乎是简单的不能再简单的功能,但是实际使用过程中也是有一些技巧的。
  • 下面Excel VBA自定义函数来提取 字符串中符合正则表达式的字符串 先上效果图: 以下从一个单元格字符串提取出连续出现的数字,并且空格分割,后面只需分列以下就提取到不同单元格了。 函数代码: ...
  • 12, excel vba 常用字符串处理函数

    万次阅读 多人点赞 2018-09-10 23:24:51
    处理excel数据 很多时候要和字符串打交道, 比如 0,想要知道一个字符串的长度是多少? 1, 判断字符串是不是含有你需要的字符 2, 截取字符串的某一个部分 3, 将字符串里的某个字符进行替换 4, 把字符串按某个字符...
  • VB/VBA字符串

    2021-07-25 13:21:19
    字符串历来就是编程界的麻烦 前言 字符串在人机交互中,举足轻重,是站人这一边的,其作用甚至比变量和函数更突出。变量详见《变量,还有这些秘密》,函数详见《VB/VBA中的函数,用了那么久,其实是这样的》。试想...
  • VBA示例函数之 求人不如自已动手 提取中汉字,供初学者参考,大牛勿进~~~~~~~
  • Function RegTest(ByVal sText ... '定义匹配字符串集合对象 Dim oMatches As Object '创建正则表达式 Dim a As String '定义要执行正则查找的文本变量 Set oRegExp = CreateObject("vbscript.regexp") .
  • 这次要做的就是,如果这个单元格数据类型是字符串,我们就去进行子字符串的匹配,说的简单点就是判断指定单元格有没有我们需要找的字符串。 例如:判断单元格J6有没有‘√’,代码如下: Sub aa() Set a = Range...
  • 功能:根据空格,把单元格6的字符串拆分到7,8,9单元格。 在execl中,按alt+f11打开vba代码输入框,复制粘贴本代码到里面,然后执行。 使用到的知识点 1.vba的循环 2.单元格内容的读取和写入。
  • EXCEL 公式 遍历查找 查找字符串

    千次阅读 2020-12-19 17:47:38
    所以要查找“永辉”,用 find 函数,所以正常就是=FIND($E$1,A1) ,然后往下拖,如果有找到,就返回在字符串中出现在第几个字符;没找到,返回错误#value!例如 =find(“新华路永辉店", "永辉") ...
  • 有同学反映,需要查找指定字符的前一个字符。根据此需求,大家可用录制宏操作一下查找某字符的操作,然后得到一些基本代码,在此基础上进行修改,得到具备相应功能的过程代码。最终代码如下: Sub findtext() Dim ...
  • 一个简单的函数,从包含有数字信息的字符串中取出这个数据,利用VAL函数将字符串转换为数值,该函数或略数字字符串后面的字母和汉字信息,所以,只要把数字前面的字母和汉字信息去掉就行了。  '函数,从字符串...
  • 主要介绍了VBScript把json字符串解析成json对象的2个方法,本文通过MSScriptControl.ScriptControl和jscript实现,需要的朋友可以参考下
  • Str函数将数值转换为字符串,即返回一个代表一个数值的字符串,其语法为:Str(number)CStr函数将数值表达式转换为字符串,其语法为:CStr(mynumberExpression)注意:当一个数值转换成字符串时,总会在其前面保留一个...
  • Sub get_name() Dim reg As Object Dim mc As MatchCollection Dim m As Match Set reg = CreateObject("vbscript.regexp") ActivePath = ActiveWorkbook.Name s = ActivePath p = "EPDV-[A-Z]" ...
  • VBA之正则表达式(13)-- 字符串变换

    千次阅读 2019-06-01 12:05:21
    实际应用场景中,字符串可能是完全不规则的,就需要使用VBA字符串函数逐个读取字符,并进行判断,提取数字之后,进行运算,然后再拼接字符串也可以实现,有些麻烦。 处理字符的任务,还是需要使用正则这个神器。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,638
精华内容 655
关键字:

vba提取字符串指定字符后的字符