1

我有一个表,其中包含使用 VBA 创建的过滤器和几条评论。所有的评论都很重要,并且有大量的数据。我试图找到一种方法来避免应用过滤器时出现错误消息。我知道如果我循环遍历整个列并按 Comment.Shape.Placement = xlMoveAndSize单元格设置它应该可以工作,但是有没有办法像这样选择整个范围?

masterSheet.Columns(columnExtension).Comment.Shape.Placement = xlMoveAndSize

我也在这种情况下尝试过:

'Final formating -----------------------------------------------

masterSheet.Activate
masterSheet.Columns(columnExtension).Font.Size = 12
masterSheet.Columns(columnExtension).Font.Bold = True
masterSheet.Columns(columnExtension).NumberFormat = "0"
masterSheet.Columns(columnExtension).HorizontalAlignment = xlCenter

ActiveSheet.UsedRange.SpecialCells _
(xlCellTypeComments).Comment.Shape.Placement = xlMoveAndSize

masterSheet.Columns.AutoFit
4

2 回答 2

2

我找不到一种方法可以一次完成所有工作……所以我只写了循环,它可以工作,但是……

'// Change each comment to "move and size with cells"
For Each cellComment In ActiveSheet.Comments
     cellComment.Shape.Placement = xlMoveAndSize
Next cellComment

它可能对某人有用..

于 2013-07-15T18:35:05.090 回答
0

使用SpecialCells范围对象也对我有用,只迭代包含评论的单元格。

Sub Test2()
Dim rng As Range
Dim cl As Range

Set rng = ActiveSheet.UsedRange.SpecialCells(xlCellTypeComments)
For Each cl In rng.Cells
    cl.Comment.Shape.Placement = xlMoveAndSize
Next
End Sub
于 2013-07-15T18:38:12.067 回答