راب در مورد مشکلی که در حذف تصاویر از یک کاربرگ داشت، نوشت. او ماکروهایی دارد که یک تصویر (یک امضا) را به عنوان شکل اضافه می کند، اما وقتی بعداً سعی می کند تصویر را حذف کند، نمی تواند آن را در مجموعه Shapes پیدا کند.
یکی دو چیز برای بررسی وجود دارد. اول از همه، باید مطمئن شوید که از نحو مناسب برای حذف استفاده می کنید. بررسی کنید تا مطمئن شوید که شیت شیت را به صراحت در کد خود گنجانده اید. به عنوان مثال، خط زیر کار نخواهد کرد:
Shapes(1).Delete
در عوض، باید برگه را با استفاده از کدی مشابه هر یک از خطوط زیر مشخص کنید:
ActiveSheet.Shapes(1).Delete
Sheets("Sheet1").Shapes(1).Delete
Sheets(1).Shapes("Signature").Delete
اگر تشخیص دهید که تصویر مورد انتظار در مجموعه Shapes نیست، ممکن است اکسل (به دلایل عجیبی که فقط برای اکسل شناخته شده است) تصویر را به مجموعه دیگری مانند مجموعه تصاویر منتقل کرده باشد. اگر به این مشکوک هستید، از ماکرو زیر استفاده کنید:
Sub WhatAmI()
Dim sTemp As String
sTemp = "You selected this type of object: " & TypeName(Selection)
sTemp = sTemp & vbCrLf
sTemp = sTemp & "Its name is " & Selection.Name
MsgBox sTemp
End Sub
تصویر امضا را انتخاب کنید، سپس ماکرو را اجرا کنید. شما باید یک کادر پیام را ببینید که نوع شی انتخاب شده را به همراه نام آن نشان می دهد. سپس می توانید از اطلاعات برای اصلاح ماکرو خود استفاده کنید تا تصویر را به دلخواه حذف کنید.