精通excel VBA的高手请进,同样的代码,为什么EXCEL2013会停止工作,在EXCEL2007里正常!!!

如题图片所示,选择任意一行数据在sum合计行插入复制的数据,excel2013出现偶然性的停止工作现象,未保存的东西都会丢失但是在excel2007里都正常!!!Priv... 如题图片所示,选择任意一行数据在 sum合计行 插入复制的数据,excel2013出现偶然性的停止工作现象,未保存的东西都会丢失 但是在excel2007里都正常!!!

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim Rng As Range, R As Range, Tmp$
Set Rng = Intersect(Target, Columns(2))
If Not Rng Is Nothing Then
Application.EnableEvents = False
With CreateObject("vbscript.regexp")
.Global = True
.Pattern = "[\u4e00-\u9fa5]"
For Each R In Rng
If Len(R.Text) Then
temp = .Replace(R.Text, "")
If IsError(Evaluate(temp)) = False Then R.Offset(, 1).Value = Evaluate(temp)
Else
If R.Offset(, 3).Value <> "合计" Then R.Offset(, 1).Value = ""
End If
Next R
End With
Application.EnableEvents = True
End If
Set Rng = Nothing
Set R = Nothing
If Target.Column = 3 Then
Application.EnableEvents = False
Set Rng = Columns("C:C").SpecialCells(xlCellTypeFormulas, 23)
Rng.Offset(, 2) = "合计"
If Intersect(Rng, Target) Is Nothing And Target.Offset(, 2) = "合计" Then Target.Offset(, 2) = ""
Application.EnableEvents = True
End If
End Sub
展开
 我来答
姓王的wy451

2015-08-01 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8915万
展开全部
你的代码较多,很难一句一句分析,你自己分步执行看到了哪句死的,才好分析。前不久我也遇到你一样的情况,并且代码还是通过录制宏来改的,很简单的复制工作表的语句,高版本运行正常。找不到原因,再反过来运行录制的宏,居然也死了,最后在sheet的前面加上工作簿thisworkbook.才解决问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式