Мне всегда лучше по-настоящему перехватить ошибку, если она может быть перехвачена, чем полагаться на GoTo.
На основе этого ответа вы можете создать функцию, чтобы проверить, пуст ли буфер обмена.
Function clipboardEmpty() as Boolean
'requires reference to Microsoft Forms 2.0 Object Library
Dim myDataObject As DataObject
Set myDataObject = New DataObject
myDataObject.GetFromClipboard
clipboardEmpty = Not myDataObject.GetFormat(1) = True
End Sub
Затем вы можете обновить свою процедуру следующим образом:
If clipboardEmpty Then
Msgbox "No Data to Paste!"
Else
'Do Stuff
End If