这似乎应该是一个简单的问题,但我一直无法解决它。我有一个我正在编写的程序,用户可以通过以下步骤获得婴儿:
第 1 步:转到另一个电子表格并复制内容
第 2 步:返回我的电子表格并按下按钮粘贴该内容
当他们按下我的按钮时,它需要解锁当前工作表并粘贴没有任何格式的数据。这就是我所拥有的:
ActiveWorkbook.ActiveSheet.Unprotect
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
因此,如果我不执行“取消保护”行,它会完美运行,但我试图阻止人们在不使用我的按钮的情况下粘贴数据。
我知道这个问题与我取消保护工作表时剪贴板内容丢失有关,但我用来保留该内容的方法不起作用,即:
- Lib User32 - OpenClipboard 和 CloseClipboard
- DataObject - GetFromClipboard、PutInClipboard
奇怪的是,如果我调试 VBA 并逐行执行,它会完美运行?!?