Excel上的VBA错误:找不到方法或数据成员

Excel上的VBA错误:找不到方法或数据成员,vba,excel,Vba,Excel,我的代码: Public Sub splitUpRegexPattern() Dim regEx As New RegExp Dim strPattern As String Dim strInput As String Dim strReplace As String Dim Myrange As Range Set Myrange = ActiveSheet.Range("B2:B4279") For Each c In Myrange strPattern = "([A-Z]{

我的代码:

Public Sub splitUpRegexPattern()
Dim regEx As New RegExp
Dim strPattern As String
Dim strInput As String
Dim strReplace As String
Dim Myrange As Range

Set Myrange = ActiveSheet.Range("B2:B4279")

For Each c In Myrange
    strPattern = "([A-Z]{2}\/[A-Z]{2}\/[A-Z][0-9]{2}\/[a-z]{3}[0-9]{9}\/)([0-9]{4})"

    If strPattern <> "" Then
        strInput = c.Value
        strReplace = "$1"

        With regEx
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = strPattern
        End With

        If regEx.test(strInput) Then
            c.Offset(0, 1) = regEx.Replace(strInput, "$2")
        Else
            c.Offset(0, 1) = ""
        End If
    End If
Next
端接头

它最初运行良好,可能会给我一个错误,但仍然完成了它正在执行的任务。但是,当我在新的电子表格上使用此宏时,会出现以下错误:

编译错误:找不到方法或数据成员

这个网站上的所有解决方案都是针对不同的情况量身定做的,所以很遗憾,我无法将它们应用到我的环境中

我不知道为什么会发生这种情况,因为我没有更改任何代码。我相信,如果我对VBA脚本有了更深入的了解,我将能够理解这一点,但我没有,所以我来看看这里是否有人可以帮助我

谢谢


艾丹

我猜你丢了一本图书馆的参考书。在VBE中,选择“工具-参照”。找到Microsoft VBScript Regular Expressions 5.5并勾选它。

我最好的猜测是您丢失了对库的引用。在VBE中,选择“工具-参照”。找到Microsoft VBScript正则表达式5.5并勾选它。

您需要添加对名为Microsoft VBScript正则表达式5.5的库的引用才能使其正常工作

如果此代码在工作簿中工作,这意味着您已经添加了该库引用,并且当您将代码复制到新工作簿中时,需要再次添加相同的引用

在现有代码中,您正在自动实例化名为redEx的变量,该变量假定已添加库引用以使其正常工作

为了避免这种情况,您可以使用后期绑定技术,它不需要您添加引用,并且代码可以在任何工作簿上使用

为此,将regEx变量声明为如下所示的对象

Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")

您需要添加对名为Microsoft VBScript Regular Expressions 5.5的库的引用才能使其正常工作

如果此代码在工作簿中工作,这意味着您已经添加了该库引用,并且当您将代码复制到新工作簿中时,需要再次添加相同的引用

在现有代码中,您正在自动实例化名为redEx的变量,该变量假定已添加库引用以使其正常工作

为了避免这种情况,您可以使用后期绑定技术,它不需要您添加引用,并且代码可以在任何工作簿上使用

为此,将regEx变量声明为如下所示的对象

Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")

可以是正在生成实例RegExp的对象。可以是正在生成实例RegExp的对象。