【发布时间】:2023-04-02 13:35:01
【问题描述】:
我无法解决的简单问题......
我使用下面的 VBA 粘贴一系列 100 个单元格,以避免任何麻烦并加快流程。但我得到一个错误。
ActiveSheet.Unprotect
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
ActiveSheet.Protect
错误出现在“selection.pastespecial....”中,似乎是因为工作表被保护并且单元格被锁定,而“unprotect”代码没有时间做出反应。 如果我再次运行宏,它可以工作,我想这是因为现在工作表不再受到保护。如果我解锁单元格,它可以正常工作,但我更愿意将它们锁定。
【问题讨论】:
-
我们能看到更多代码吗?它可能更多地与激活和选择的使用有关,而不是取消保护。
-
您可能会从阅读How to avoid using Select in Excel VBA 中受益。确保避免
.Select这会导致许多奇怪的问题。 -
感谢您的帮助,我找到了解决方案。 @ScottCraner 正如我所说,这都是代码,只是为了加快无聊的任务。我有一个用于复制数据的类似宏
-
@Pᴇʜ 我知道,但是对于这么小的宏我认为不会造成任何问题
-
不可能是全部代码,没有
.copy这一行。