【发布时间】:2016-03-29 05:54:41
【问题描述】:
我正在尝试为 Excel 2010 编写一个宏,该宏将允许用户选择一个单元格或合并单元格范围,然后取消加粗注释并添加一个模式。
Sub commentstripe()
'
' commentstripe Macro
'
'
Dim myRange As Range
Set myRange = Range(Selection.Address)
myRange.Comment.Shape.TextFrame.Characters.Font.Bold = False
With myRange.Interior
.Pattern = xlLightUp
.PatternColorIndex = xlAutomatic
.PatternTintAndShade = 0
End With
ActiveWorkbook.Save
End Sub
它似乎挂在 myRange.comment 行,但我似乎无法弄清楚原因。我从快捷键 Ctrl+Shift+A 运行它。任何建议将不胜感激。
问候, 桑迪
【问题讨论】:
-
在 Visual Basic 编辑器中(在弹出框中)。
-
我收到运行时错误“91”:对象变量或未设置块变量。在多玩一些时,它适用于单个单元格,但不适用于由合并单元格组成的单个单元格。
-
或者可能是单元格没有注释。请参阅下面的处理 cmets 的更好方法: Sub CommentAdd() Dim cmt As Comment Dim cmtText As String Set cmt = ActiveCell.Comment If cmt Is Nothing Then Set cmt = ActiveCell.AddComment Else 'do nothing End If With cmt.Shape.TextFrame .Characters.Font.FontStyle.Bold = False End With
-
是的,安德烈斯可能是对的。不确定 cmets 如何处理合并的单元格。用户如何选择单元格?因为选择任何没有注释的范围都会中断。你可以循环遍历所有的 cmets 吗?
-
用户通过点击来选择一个单元格或合并的单元格。