gpt4 book ai didi

Excel : Method or Data Member not found 上的 VBA 错误

转载 作者:行者123 更新时间:2023-12-04 21:15:18 25 4
gpt4 key购买 nike

我的代码:

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

结束子

它最初运行良好,它会给我一个错误,但仍然完成它正在执行的任务。但是当我在一个新的电子表格上使用这个宏时,它给了我错误:
Compile Error: Method or Data Member not found.
该站点上的所有解决方案都是针对不同情况量身定制的,因此很遗憾我无法将它们应用于我的情况。

我不知道为什么会这样,因为我没有更改任何代码。我敢肯定,如果我对 VBA 脚本有更深入的了解,我就能理解这一点,但我没有,所以我来看看这里是否有人可以帮助我!

谢谢!

艾丹

最佳答案

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

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

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

为避免这种情况,您可以使用后期绑定(bind)技术,该技术不需要您添加引用,并且代码将适用于任何工作簿。

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

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

关于Excel : Method or Data Member not found 上的 VBA 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45371555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com