
这段VBA代码是什么意思
Err_a:IfErr.Number<>0ThenMsgBoxErr.DescriptionSourceWB.Saved=TrueSourceWB.CloseFalseT...
Err_a:
If Err.Number <> 0 Then
MsgBox Err.Description
SourceWB.Saved = True
SourceWB.Close False
TargetWB.Saved = True
TargetWB.Close False
ThisWorkbook.Worksheets("Sheet1").Protect Password:="test"
End If 展开
If Err.Number <> 0 Then
MsgBox Err.Description
SourceWB.Saved = True
SourceWB.Close False
TargetWB.Saved = True
TargetWB.Close False
ThisWorkbook.Worksheets("Sheet1").Protect Password:="test"
End If 展开
展开全部
就是如果程序运行有错误的时候,抛出错误的具体信息。
后面的几句,由于没有上文,推测是 保存源,目标源excel 文件并关闭此excel。
并且把当前的excel中的sheet1这个设置密码。
希望可以帮到你。
后面的几句,由于没有上文,推测是 保存源,目标源excel 文件并关闭此excel。
并且把当前的excel中的sheet1这个设置密码。
希望可以帮到你。
追问
嗯,可是我不懂if不是个条件语句吗? 为什么这里只有If Err.Number 0, 的情况下做什么,却没有否则呢?是因为on error go的原因吗?
追答
恩。根据你提供的代码片段,可以判断这个是 程序的容错处理。
在程序的最开头肯定有 on error goto err_a 或者 程序中出错的地方有 goto err_a 的语句。
这一段只有在出错的时候才执行的,正常是不会进来的。
当正常的时候,err.num=0。
实际上这段的写法还是不严谨,应该在这标号err_a: 之前就要终止掉,不让他继续执行的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询