Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Excel VBA添加注释会引发应用程序定义或操作定义的错误_Excel_Vba - Fatal编程技术网

使用Excel VBA添加注释会引发应用程序定义或操作定义的错误

使用Excel VBA添加注释会引发应用程序定义或操作定义的错误,excel,vba,Excel,Vba,我正在尝试使用VBA向工作表中的单元格添加注释。我尝试对许多单元格执行此操作,以便将注释加载到数组中 我已(1)擦除阵列以启动,并(2)重拨保留阵列,以及(3)填充阵列。所有这些看起来都不错 前面的两行可以很好地处理另一个数组: Worksheets("Tree").Cells((vTreeRow(Y)), (vTreeCol(Y) + 1)).NumberFormat = "#,##0.00_);(#,##0.00)" Worksheets("

我正在尝试使用VBA向工作表中的单元格添加注释。我尝试对许多单元格执行此操作,以便将注释加载到数组中

我已(1)擦除阵列以启动,并(2)重拨保留阵列,以及(3)填充阵列。所有这些看起来都不错

前面的两行可以很好地处理另一个数组:

Worksheets("Tree").Cells((vTreeRow(Y)), (vTreeCol(Y) + 1)).NumberFormat = "#,##0.00_);(#,##0.00)"
Worksheets("Tree").Cells((vTreeRow(Y)), (vTreeCol(Y) + 1)) = Tree8(Y)
但是,当我的代码执行这一行时,它会抛出错误

Worksheets("Tree").Cells((vTreeRow(Y)), (vTreeCol(Y) + 1)).AddComment vComm(Y)
我猜这个问题是由我不知道的数组引起的。我做了一些研究,但还没有找到答案


任何帮助都将不胜感激。谢谢……

假设
vComm
是一维数组,这将起作用:

With Worksheets("Tree").Cells(vTreeRow(Y), (vTreeCol(Y) + 1))
    If .Comment Is Nothing Then
        .Comment.Text Text:=vComm(Y)
    Else
        .AddComment vComm(Y)
    End If
End With
如果
vComm
是从一列数据分配的二维值数组,则使用:

With Worksheets("Tree").Cells(vTreeRow(Y), (vTreeCol(Y) + 1))
    If .Comment Is Nothing Then
        .Comment.Text Text:=vComm(Y, 1)
    Else
        .AddComment vComm(Y, 1)
    End If
End With
如果您将
错误编号
错误描述
包含在测试中,这将非常有用:

  • 尝试使用addcomment添加sg else,而不是数组(例如simple=Y),并查看它是否失败,如果失败,何时失败
  • 将Y和vComm(Y)打印到cells()中,以查看代码中断的位置和原因

  • 如果您已经这样做了,请告诉我们您的经验。

    vComm(Y)变量是什么?这个问题似乎缺少代码。你是说没有。注释什么都不是?