如何使用保留格式和注释的可写单元格保护工作表

SFu*_*n28 6 microsoft-excel-2007 microsoft-excel microsoft-excel-2010 microsoft-excel-2013 microsoft-excel-2016

有没有一种方法可以保护工作表,使某些单元格可写(例如,用户可以将数字放入这些单元格中),但格式和注释框不能更改?我能够创建一个受保护的工作表,仅解锁某些单元格。但是,如果我从另一个工作表(具有不同格式和自己的注释框)中的单元格复制/粘贴到这些单元格中,格式和注释将被覆盖。

理想情况下,该解决方案可以在 Excel 2010 中运行,但我也对特定于较新版本的解决方案感兴趣。

har*_*ymc 3

在这种情况下,我发现我需要给出否定的答案:如果没有 VBA 宏,您所要求的功能是不可能的。如果您有兴趣走这条路,下面是一个简单的代码片段,它将尝试执行正常的 Excel 粘贴,并在出现错误时尝试从剪贴板打印。

Public Sub PasteasValue()
    On Error GoTo errhand
        If ActiveWorkbook Is ThisWorkbook Then
        Selection.PasteSpecial Paste:=xlPasteValues
            End If
        If Not ActiveWorkbook Is ThisWorkbook Then
        Selection.Paste
            End If
    Exit Sub
    
errhand:
    If ActiveWorkbook Is ThisWorkbook Then
    ActiveCell.PasteSpecial xlPasteAll
        End If
    If Not ActiveWorkbook Is ThisWorkbook Then
    ActiveCell.PasteSpecial xlPasteAll
        End If
End Sub

Run Code Online (Sandbox Code Playgroud)

我的回答是基于十多年来 Excel 用户一直需要此功能,但始终没有找到解决方案。

作为证据,我在下面列出了在 Microsoft Excel User Voice 网站上找到的许多建议中的一些,这些建议总是被忽略:

最近有一些证据(截至 2020 年 12 月)表明Excel 开发团队可能最终会倾听,但十多年后,每个人都在猜测。

您会在评论中找到对某些用户有效的各种解决方法,但它们都需要用户的一些纪律或 VBA 宏来修改工作表的 Excel 行为。