excel - 此例程在保护模式下不起作用
问题描述
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rg As Range
Set rg = Intersect(Target, Range("A1:J10"))
If Not rg Is Nothing And Range("V7") = "YES" Then
[RowNo] = ActiveCell.Row
[ColNo] = ActiveCell.Column
End If
End Sub
…</p>
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("V7")) Is Nothing Then
If Target = "NO" Then [AK1:AL1] = 0
End If
End Sub
当工作表处于保护模式时,上述 SelectionChange 不起作用。有什么办法可以纠正这个。在保护模式下,它挂在显示 [RowNo] = ActiveCell.Row 的行上。当工作表不受保护时,这可以正常工作。
解决方案
像这样:
'...
Me.Unprotect 'in a sheet module Me=the sheet
[RowNo] = ActiveCell.Row
[ColNo] = ActiveCell.Column
Me.Protect
'...
推荐阅读
- git - 如何在只有条件和除外条件的情况下在 gitlab.com 上运行 CI?
- java - 如何使用 Java 读取/写入 PostgreSQL 多个 CSV 文件(带有各种标头数据)
- r - 将列名设置为 R 中的行值
- javascript - 单击导航项时关闭导航
- android - Android仅将当前活动的上下文存储在静态变量中,会导致内存泄漏吗?
- python-3.x - 是否可以同时在同一 IP 和端口上接收数据
- c++-cli - 在 c++/cli 或 c# 中打开二进制文件
- java - Apache Felix 6.0.1:初始化时出现 BundleException
- r - ggplot2 填充和颜色映射图例
- java - JavaFX GridPane 对象对齐