excel - 最初如何让 Range 成为 Nothing?
问题描述
编辑:如果我将它放在 ThisWorkbook 的顶部,则此方法有效,但如果它位于另一个Workbook_SheetChange
事件下方,则无效
当我选择了一个单元格时,我试图让评论出现,这样我就不必抓住鼠标并将鼠标悬停在单元格上。我有多个工作表,所以这段代码是工作簿:
Public FRg As Range
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Update 20140909
If Not FRg Is Nothing Then
FRg.Comment.Visible = False
End If
If Not Target.Comment Is Nothing Then
Target.Comment.Visible = True
End If
End Sub
我第if
一句话就出错了Object Required
我认为 FRg 基本上是为了跟踪最后一条评论,所以在我离开一个单元格后,我不会得到评论 STAYING ON,但也许它最初需要一些东西?
更新:
我稍微更改了代码:
Public FRg As Range
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Update 20140909
If Not FRg Is Nothing Then
If Not FRg.Comment Is Nothing Then
'MsgBox "Hiding comment in cell w text: " & FRg.Value
FRg.Comment.Visible = False
Set FRg = Nothing
'MsgBox "previous comment turned off"
End If
End If
If Not Target.Comment Is Nothing Then
Target.Comment.Visible = True
Set FRg = Target
Again = True
End If
End Sub
解决方案
您的声明:
Public FRg As Range
必须始终位于页面顶部,高于该工作表/书籍/模块中的所有其他子项。
代码的其余部分可以放在任何地方,但您在工作表/书籍/模块级别的声明必须放在第一位。您收到错误的原因是因为当您将其他代码放在声明上方时,Excel 会忽略您在 subs 之间的错误声明并将未声明的变量“Frg”设置为变体(它不是对象),这就是您得到的原因错误。
推荐阅读
- android - 自动检测链接抖动
- python-3.x - 如何自动化 API 以每小时更改 URL 并将新数据附加到 csv
- reactjs - 如何在反应中使用地图进行递归
- javascript - axios 从 GET 请求响应中设置 GET 请求的 URL
- apache - ModSecurity 阻止无效的主机引用
- python - 如何使用 Tensorflow SavedModel 保存 RandomizedSearchCV 对象的最佳估计器?
- php - 使 Facebook 喜欢新闻提要,用户不必使用 jquery 等待新提要
- oop - 我收到 3 个参数的类型错误,但我正好传递了 2 个参数
- javascript - 为什么循环是无限的
- javascript - 如何显示给定一周的员工名册