VBA复制粘贴图片代码运行时崩溃但单步执行正常的问题求助
VBA复制粘贴图片代码运行时崩溃但单步执行正常的问题求助
大家好,我碰到一个棘手的问题,想请教下各位大佬。我写的这段VBA代码原本是用来将'RefData'工作表中的图片,根据'Dashboard'工作表H列和L列的对应值,复制粘贴到'Dashboard'的指定位置。这段代码之前稳定运行了好几年,可最近一运行就直接导致Excel崩溃退出,但单步逐行执行(按F8一步步走)的时候却完全正常,我实在摸不着头绪,麻烦帮忙看看问题出在哪?
我的代码如下:
Public Sub UpdatePictures() Dim IconRefresh As Variant Sheets("Dashboard").Select If ActiveSheet.Pictures.Count > 1 Then ActiveSheet.Shapes.SelectAll Selection.Delete MsgBox "Pictures Deleted" Else MsgBox "No Pictures To Delete" End If Sheets("RefData").Select ActiveSheet.Shapes.Range(Array("Common")).Select Selection.Copy Sheets("Dashboard").Select For Each Cell In Range("H6:H15") If Cell.Value = "Common" Then Cell.Offset(0, 20).Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 15 Selection.ShapeRange.IncrementTop 3.5 End If Next Sheets("RefData").Select ActiveSheet.Shapes.Range(Array("HighSpecial(Concern)")).Select Selection.Copy Sheets("Dashboard").Select For Each Cell In Range("H6:H15") If Cell.Value = "HighSpecial(Concern)" Then Cell.Offset(0, 20).Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 15 Selection.ShapeRange.IncrementTop 3.5 End If Next Sheets("RefData").Select ActiveSheet.Shapes.Range(Array("Pass")).Select Selection.Copy Sheets("Dashboard").Select For Each Cell In Range("L6:L15") If Cell.Value = "Pass" Then Cell.Offset(0, 19).Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 15 Selection.ShapeRange.IncrementTop 3.5 End If Next Sheets("RefData").Select ActiveSheet.Shapes.Range(Array("Fail")).Select Selection.Copy Sheets("Dashboard").Select For Each Cell In Range("L6:L15") If Cell.Value = "Fail" Then Cell.Offset(0, 19).Select ActiveSheet.Paste Selection.ShapeRange.IncrementLeft 15 Selection.ShapeRange.IncrementTop 3.5 End If Next Sheets("RefData").Select Sheets("Dashboard").Select Range("AA5").Select MsgBox "Pictures Updated" End Sub
备注:内容来源于stack exchange,提问作者ClareD
相关产品推荐
相关产品推荐

