精华内容
下载资源
问答
  • Excel中使用正则表达式的方法

    万次阅读 2019-05-22 11:40:49
    简单介绍一下Excel中如何使用正则表达式 1、导入ExcelAPI A:下载ExcelAPI B:打开Excel-文件-工具-加载项,选择ExcelAPI,然后导入xll文件 2、正则表达式样例 举例: 字符串:ADB123 A: 提取字符,结果为...

    简单介绍一下Excel中如何使用正则表达式

    1、导入ExcelAPI

    A:下载ExcelAPI

    B:打开Excel-文件-工具-加载项,选择ExcelAPI,然后导入xll文件

     

    2、正则表达式样例

    举例: 字符串:ADB123
    A: 提取字符,结果为ADB
    方法一:=RegexString(H10,"字母")
    方法二:=RegexString(H10,"[A-Z]")
    方法三:=RegexString(H10,"([A-Z])",1)

    B:数字替换为字符A,
    方法一:=RegexReplace(H10,"([1-3])","A",1)——结果为ADBAAA
    方法一:=RegexReplace(H10,"数字","A",)——结果为ADBA

    展开全文
  • Excel 使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口 在代码窗口输入以下代码: Private Sub RegExp_Replace() Dim RegExp...

    在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口

    image

    在代码窗口中输入以下代码:


    Private Sub RegExp_Replace()
    
        Dim RegExp As Object
        Dim SearchRange As Range, Cell As Range
        
        '此处定义正则表达式
        Set RegExp = CreateObject("vbscript.regexp")
        RegExp.Pattern = "[0-9]{5}"
         
        '此处指定查找范围
        Set SearchRange = ActiveSheet.Range("A1:A99")
        
        '遍历查找范围内的单元格
        For Each Cell In SearchRange
            Set Matches = RegExp.Execute(Cell.Value)
            If Matches.Count >= 1 Then
                Set Match = Matches(0)
                Cell.Value = RegExp.Replace(Cell.Value, "")
            End If
        Next
    
    End Sub

    根据实际需要替换相应参数,点击 image 运行即可得到效果。


    如果 excel 提示该工程中的宏被禁止在 -》工具-》宏-》安全性-》中,然后关闭重新打开,会提示是否启用宏。选启用宏:


    如果您的EXECL2003宏被禁用,有以下几种解决办法

    • 利用EXCEL的宏安全性问题

    在菜单中选择:工具--选项--宏--安全性,设置成“低”或“中”,再打开文件,宏会提示使用“宏”,按“启动宏”打开文件。

    如果安全性调成中,打开EXCEL文档时就会提示是否加载宏。 
    如果安全性调成低,那么打开EXCEL文档时就直接加载宏。

    • 删除EXCEL模板(当第一个方法无法实现时使用)

    C:\Documents and Settings\你的用户名\Application Data\Microsoft\Excel\Excel11-模板删除.

    • 修改注册表实现(当第一个方法无法实现时使用)

    打开注册表编辑工具(regedit.exe),找到HKEY_LOCAL_MACHINE打开,找SOFTWARE打开,找Microsoft打开,找office打开,找11.0打开,找EXCEL打开,找security打开后看到它旁边的窗口有一项名称为LEVEL的,双击它,在跳出的编辑DWORD值里面看到数值数据(V):下面的空格啦,你就可以在里面修改数值啦。注意:填写1为低,填写2为中,填写3为高。

     

    office系统其他应用软件的宏禁用解决方法与此类似。




    展开全文
  • Excel 使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口 在代码窗口输入以下代码: Private Sub RegExp_Replace() Dim RegExp ...

    在 Excel 中,使用 Alt+F11 快捷键打开 VBA 项目窗口,在左侧的工作表名称上点右键,选择查看代码,即可出出现右侧的代码编辑窗口

    image

    在代码窗口中输入以下代码:

    Private Sub RegExp_Replace()
    
        Dim RegExp As Object
        Dim SearchRange As Range, Cell As Range
        
        '此处定义正则表达式
        Set RegExp = CreateObject("vbscript.regexp")
        RegExp.Pattern = "[0-9]{5}"
         
        '此处指定查找范围
        Set SearchRange = ActiveSheet.Range("A1:A99")
        
        '遍历查找范围内的单元格
        For Each Cell In SearchRange
            Set Matches = RegExp.Execute(Cell.Value)
            If Matches.Count >= 1 Then
                Set Match = Matches(0)
                Cell.Value = RegExp.Replace(Cell.Value, "")
            End If
        Next
    
    End Sub
    

      根据实际需要替换相应参数,点击 image 运行即可得到效果。

    来源:https://www.cnblogs.com/xwgli/p/5845317.html

    转载于:https://www.cnblogs.com/fogwang/p/8359524.html

    展开全文
  • EXCEL表内遇到有规律性的数据需要提取或者替换时,比如在数据提取时间,身份证号码等,EXCEL内自带的查找替换就难以实现,我们可以利用VBA适用正则表达式去对数据进行匹配。 什么是正则表达式正则表达式,...

    在EXCEL表内遇到有规律性的数据需要提取或者替换时,比如在数据中提取时间,身份证号码等,EXCEL内自带的查找替换就难以实现,我们可以利用VBA适用正则表达式去对数据进行匹配。

    什么是正则表达式?

    正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

    下表为正则表达式的元字符和对它们的一个简短的描述,新手可以百度下看下教程,不建议死记硬背,多做练习后更容易懂。

    常用的正则表达式:

    匹配手机号码:1[3|4|5|7|8][0-9]{9}

    匹配身份证号(15位):\d{14}[[0-9],0-9xX] ;身份证号(18位):\d{17}(\d|X|x)

    匹配邮箱地址:[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?

    匹配(年-月-日)格式日期:([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))

    匹配3位以上数字:[1-9][0-9]{2,}

    匹配字符串之间的字符:前面的字符(.*?)后面的字符,比如abc123def ,需要匹配abc和def之间的字符的表达式就是abc(.*?)def

    在VBA使用正则表达式代码如下:

    Sub re()
    Application.ScreenUpdating = False
    Set oRegExp1 = CreateObject("vbscript.regexp")
    re = InputBox("请输入正则表达式")
    if re="" then exit sub
    With oRegExp1
        .Global = True
        .IgnoreCase = True
        .Pattern = re
    End With
    
    For Each Rng In Selection
        if Rng <>"" then
            Set a = oRegExp1.Execute(Rng)
            For j = 0 To a.Count - 1
    	    IF j=0 then
    	        b = a(j)
    	    else
           	        b = b & "," & a(j)
    	    end if
            Next
            Rng.Value = b
            b = ""
        end if
    Next
    Application.ScreenUpdating = true
    End Sub
    

    例如在下面的产品名称内需要提取TM-xxx这个型号,则正则表达式为:TM-[0-9]{3,} (TM-为开头字符串加上3个数字以上)

    选择需要提取的A列数据,运行VBA,在输入框内输入正则表达式,确认后就可以得到结果:

    结果如下:

    若有多个结果会以,号隔开放回结果。

    另:正则表达式在线测试平台:http://tool.oschina.net/regex/

    展开全文
  • 但在我们最常用的办公软件EXCEL中,目前没有可直接使用正则表达式的函数(至少10版本的EXCEL没有),那么今天我就分享下如何在EXCEL中自定义正则函数。 一、提需求 比如,我要拆分下面的字符串: 显然这样的...
  • 资源包括ExcelAPI的文件,同时介绍了如何添加API,以及如何使用正则表达式
  • EXCEL 使用正则表达式

    万次阅读 2018-12-24 20:03:09
    https://blog.csdn.net/laoyebin/article/details/5377857(EXCEL里常用的几个正则表达式) https://blog.csdn.net/catoop/article/details/70247105(Excel 正则表达式提取值) 今天一个朋友让我帮忙将一组 ...
  • Excel使用正则表达式

    2019-03-15 14:47:00
    1、使用正则表达式提取子字符串 Function GetStr(ran As range, pattern As String) With CreateObject("VBScript.regexp") .Global = True .IgnoreCase = True .pattern = pattern ...
  • 在实际开发经常使用对WORD/EXCEL及其他数据格式的整理,其中之一便是使用WORD的查找与替换功能整理数据。对于最一般的查找与替换功能相信各位都熟悉了,但是借助于WORD所支持的正则表达式,我们可以实现更复杂和...
  • Excel自定义函数使用正则表达式详解

    千次阅读 2019-02-21 14:12:26
    Excel自定义函数使用正则表达式详解
  • Private Sub 批量替换去除无用字符() Application.ScreenUpdating = False '关闭屏幕刷新 ... '此处定义正则表达式 Set RegExp = CreateObject("vbscript.regexp") '初始化正则对象 With RegExp .Global =.
  • 因此我首先想到了Python里的正则表达式,打算写一个自定义函数去批量提取。然而之前没学VBA里的正则表达式语法,因此就去网上搜了一下,结果发现根本不能运行。几经辗转,总算搞定,因此总结一下,供后来者参考。...
  • wps中使用正则表达式

    千次阅读 2020-12-08 20:13:43
    标题:wps中使用正则表达式
  • How can I use regular expressions in Excel and take advantage of Excel's powerful grid-like setup f
  • 如何在VBA中使用正则表达式

    千次阅读 2019-05-26 11:56:56
     在VBA中使用正则表达式,可以通过下列途径实现: 创建正则表达式对象: 前期绑定: 在VBA代码编辑器中的"Tools"菜单中,选中"References…",然后引用Microsoft VBScript Regular Expressions 5.5类库,如下图1,...
  • excel使用正则表达式

    2015-07-04 11:02:33
    excel文件格式:需求:用正则表达式提取D列的***,写到E列步骤:1.打开excel中的vb编辑器,点击“文件”--“选项”--“自定义功能区”,勾选“开发工具”2.点击确定后,按Ctrl+F11打开vb窗口,点击查看代码,打开...
  • 我试图使用下面的代码删除html标签,但它什么也没做。我试过再次运行它,但没有用。...使用正则表达式,但它不会删除excel的html标签 Sub Import_AccessData()Dim strtKeyMsgRange As RangeDim ...
  • Excel-VBA正则表达式提取文本案例

    千次阅读 2019-10-02 23:47:44
    背景是这样的,我手上有一份统计表,需要将IP地址里的省市提取出来,以便于处理。因此我首先想到了Python里的正则表达式,打算写一个自定义函数去... 1、我是先在 Python验证了正则表达式再copy到VBA应用的,结...
  • 正则表达式的使用 在notepad++的查询框中勾选正则表达式,即可使用正则语法。 正则表达式 \s 表示空白字符。包括,空格,制表符等 ...2. 正则表达式中变量的使用 在字符串和数字之间添加逗号(,) 替换结果如下:
  • 【判断一个文件是否为 excel 文件的正则表达式
  • EXCEL 正则表达式

    2019-05-05 11:03:24
    EXCEL 正则表达式的应用, 打开此文档即可使用自定义函数: getstr(要匹配单元格,正则表达式) 详见: https://blog.csdn.net/qq_25846269/article/details/85237800
  • 其中如果包含的字符串包含双引号,那么就两个... 正则表达式获取CSS里面的图片的例子,里面有URL里面的图片地址有双引号,要注意用两个双引号""表示 static void Main(string[] args) { Regex reg = new Re
  • 正则表达式

    万次阅读 2020-07-04 16:30:44
    然而,在Excel中使用正则表达式,一般只能在VBA中调用,要求比较高。所以,本页中的函数才应运而生,不用写VBA,不用学专业的编程语言,就可以使用正则表达式使自己拥有超强的数据处理能力。 版本:Excel 2003/2017...
  • 目前还存在一个小问题,re.Pattern = "([0-9]*)\u5206"的括号不管用,执行Execute之后的字符串仍然包含“分”这个字符,也就是\u5206。Function trans(ltime As String) Dim re As Object Dim min As Object Set ...
  • 在VB6/VBA中使用正则表达式 一、关于起因 最近在Office的QQ群里问如何在一串字符串中提取数值并加总的问题。如果使用正则表达式可以非常迅速的解决这个问题。 那么今天我就探讨一下在VB6/VBA中使用正则表达式的...
  • 转自:http://www.pinlue.com/article/2019/03/2011/428277543311.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,633
精华内容 6,653
关键字:

excel中如何使用正则表达式