【问题标题】:Forbid selecting or copying hidden cells in Excel禁止在 Excel 中选择或复制隐藏单元格
【发布时间】:2018-11-27 17:19:40
【问题描述】:

我正在为其他用户开发一些电子表格,其中有几列我不希望用户看到。所以我把它们隐藏起来并锁定电子表格。我隐藏它们而不是删除它们的原因是为了进一步发展。但是,我发现用户可以在隐藏单元格中选择更大的范围,复制并粘贴以获取隐藏信息。无论如何我可以禁止用户这样做吗?我在网上搜索到的方法都是关于如何只选择可见单元格,而不是强制他们这样做并阻止他们获取隐藏信息。谁能帮我解决这个问题?

【问题讨论】:

    标签: excel cell spreadsheet hidden


    【解决方案1】:

    使用 VBA,您也许可以利用 Selection Change 事件,使用 Intersect 测试选择是否跨越那些隐藏列,然后选择工作表的单独可见部分。

    例如,如果列 D:F 被隐藏,

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect(Target, Me.Columns("D:F")) Is Nothing Then
            MsgBox "Your selection includes hidden column(s). BAD!", vbCritical
            Me.Range("A1").Select
        End If
    End Sub
    

    此代码位于工作表的代码模块中。

    【讨论】:

      【解决方案2】:

      使用以下代码并尝试。

      Range("A1:A20").SpecialCells(xlCellTypeVisible).Select
      Selection.Copy
      Range("A25").Select
      ActiveSheet.Paste
      

      您可以使用此方法仅选择要复制的可见单元格。

      【讨论】:

        猜你喜欢
        • 2017-10-24
        • 2012-12-15
        • 2012-11-17
        • 2013-08-03
        • 2023-04-06
        • 2022-12-10
        • 1970-01-01
        • 2022-06-13
        • 1970-01-01
        相关资源
        最近更新 更多