首页 文章

VBA将数据从一个受保护列复制到另一个受保护列

提问于
浏览
0

我在Excel中使用的工作簿有一些受保护的单元格 . 我无法解锁它们 . 我需要将数据从一个锁定的列传输到另一个也被锁定的列 . 我可以通过键入数据手动完成此操作,但工作簿不允许我复制/粘贴(使用VBA或常规方式)受保护列中的数据 . 下面是我尝试过的代码示例,没有任何运气 .

如果不解锁工作簿,这是否可行?

例1:

Sub Requote()

Dim JDsheet As Worksheet
Set JDsheet = ActiveWorkbook.ActiveSheet

JDsheet.Range("Q26:R41").Copy JDsheet.Range("S26:T41")

例2:

Sub Requote()

Dim JDsheet As Worksheet
Set JDsheet = ActiveWorkbook.ActiveSheet

JDsheet.Range("Q26:R41") = JDsheet.Range("S26:T41").Values

注意:我正在使用的列由合并的单元格组成 .

Edit: 来自@Raystafarian的评论让我发了一个帖子here,这让我可以解锁受保护的表格 .

对于那些在受保护的工作簿上有解决方案以外的解决方案的人,我会保留这个问题 .

1 回答

  • 0

    请尝试以下方法:

    • 在未受保护的(新)或打开的工作表中,只需引用受保护的单元格即可检索这些值 . 这适合我 .

    例如“= Sheet1!C3”在未受保护的单元格中,其中Sheet1中的单元格C3是受保护的单元格 . 您可以从那里拖动公式或使用VBA在大范围内复制公式 .

    获取所有值后,只需将公式粘贴为普通值即可 .

    编辑:如果你别无选择,只能在另一个受保护的列中插入值,那么答案就是我不害怕 .

相关问题