以下VB代码用于将值和注释复制到数组中。
Sub commentToArray()
arrayValues = Range("A1:A6").Value
arrayComments = Range("A1:A6").Comment.Text
End Sub
values数组工作正常,但comments数组填充了错误消息。
请你帮我解决一下。
谢谢, Aneesh
答案 0 :(得分:0)
您的代码有两个错误:
这可以为您提供解决方案:
Sub commentToArray()
Dim arrayValues As Variant
Dim ArrayCommnents() As String
Dim myRange, commentsRange, mycell As Range
Dim i As Integer
arrayValues = Range("A1:A6").Value
Set myRange = ActiveSheet.Range("A1:A6")
Set commentsRange = myRange.Cells.SpecialCells(xlCellTypeComments)
arrayLenght = commentsRange.Count
ReDim arrayComments(arrayLenght)
For Each mycell In commentsRange
i = i + 1
arrayComments(i) = mycell.Comment.Text
Debug.Print (arrayComments(i))
Next mycell
End Sub
说明:
myRange
var和范围来评估评论。
接下来,我需要确定哪个单元格包含注释,这是commentsRange
var的目的。 .SpcialCells()
方法只获取带注释的单元格。commentsRange
.Count
属性的长度。我得到了评论的细胞数量。For Each
循环是在带注释的单元格范围内逐个单元格注释。用于运行数组的增量索引i
,你得到它。