使用excel VBA上的筛选表中的单元格进行注释

时间:2013-07-15 16:51:17

标签: vba excel-vba excel

我有一个表格,其中包含使用带有多个注释的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

2 个答案:

答案 0 :(得分:2)

我找不到一种方法可以同时做所有事情...所以我只是写了循环,它有效,但......

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

这可能对某人有用..

答案 1 :(得分: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