0

我对 Excel 电子表格有意见。

我有一个按钮来控制评论是显示还是隐藏。当用户单击按钮时,应显示评论。当用户再次单击它时,评论应该会消失。

下面是我尝试使用的代码——它们都独立工作,但是当我输入 If Then Else 语句时,我得到了错误:

Sub showcomments()

If Comments <> "Visible" Then Application.DisplayCommentIndicator = xlCommentAndIndicator
Else: Application.DisplayCommentIndicator = xlCommentIndicatorOnly
End If
    
End Sub

我试过了else if comments = visible

我通常会收到错误“else without if”。

4

4 回答 4

3

尝试这个:

   Sub showcomments()
   Comments = 1
   For Each MyComments In ActiveSheet.Comments
       If MyComments.Visible = True Then
           Comments = 0
       End If
   Next
   If Comments = 1 Then
       Application.DisplayCommentIndicator = xlCommentAndIndicator
   Else
       Application.DisplayCommentIndicator = xlCommentIndicatorOnly
   End If
End Sub
于 2013-09-25T21:01:36.423 回答
3

我自己想在 Excel 中执行此操作。如果我没记错的话,这完全可以满足您的需求,并且不需要循环或额外的全局变量...

Sub showcomments()
  If Application.DisplayCommentIndicator = xlCommentIndicatorOnly Then
    Application.DisplayCommentIndicator = xlCommentAndIndicator
  Else
    Application.DisplayCommentIndicator = xlCommentIndicatorOnly
  End If
End Sub
于 2015-12-24T20:27:03.463 回答
0

此方法使用全局变量,不必遍历您的所有注释。

Public comments As Integer

Sub showcomments()
 If comments = 1 Then
   Application.DisplayCommentIndicator = xlCommentAndIndicator
   comments = 0
  Else
    Application.DisplayCommentIndicator = xlCommentIndicatorOnly
    comments = 1
  End If
End Sub
于 2013-09-25T21:00:41.243 回答
0

我使用了另一种我觉得更容易的方法:

Sub Show_Hide_Comments(visible As Boolean)
  Dim cmnt As Comment
   For Each cmnt In ActiveSheet.comments
       cmnt.Shape.Visible = visible
   Next
End Sub

这会找到所有评论并隐藏它们的形状。如果您愿意,您甚至可以针对某些评论单独执行此操作。

于 2020-09-15T22:25:58.603 回答