EXCEL VBA 添加批注出错误 问题出在哪?怎么改正

上面的两句标注的都不能通过,显示应用程序或对象定义错误?是不是后面单元格引用错误?不能直接引用单元格内容吗?Cells(d,6).SelectIfCells(d,6).C... 上面的两句标注的都不能通过,显示应用程序或对象定义错误?是不是后面单元格引用错误?不能直接引用单元格内容吗?
Cells(d, 6).Select
If Cells(d, 6).Comment Is Nothing Then
Cells(d, 6).AddComment
Cells(d, 6).Comment.Text Text:=Cells(28, 9).Value
Else: Cells(d, 6).ClearComments
Cells(d, 6).AddComment Text:=Cells(28, 9).Value
End If
Cells(d, 6).Comment.Visible = True

End Sub
展开
 我来答
sjbq
2020-01-06 · TA获得超过1068个赞
知道小有建树答主
回答量:218
采纳率:75%
帮助的人:40万
展开全部
添加批注的过程可以录制宏获得.
批注的内容必须是文本格式.可以用两个方法来改变:
pz.Comment.Text Text:=CStr(Date)
使用cstr函数将数据类型改为文本
pz.Comment.Text Text:="" & Date
附加一个空值使得日期的值变成了文本.
vba多数情况不需要转换数据类型,所以会导致一个问题:因文件类型问题而报错,同时也令人找不到报错原因...毕竟很多vba使用者也不是专业的程序员...
百度网友cfce594
2013-11-26 · TA获得超过107个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:197万
展开全部
修改成下面的代码:
Dim xStr As String

xStr = Cells(28, 9).Value
If xStr <> "" Then
Cells(d, 6).Select
If Cells(d, 6).Comment Is Nothing Then
Cells(d, 6).AddComment
Cells(d, 6).Comment.Text Text:=xStr
Else
Cells(d, 6).ClearComments
Cells(d, 6).AddComment Text:=xStr
End If
Cells(d, 6).Comment.Visible = True
Else
Cells(d, 6).ClearComments
End If
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-26
展开全部
是不是 cells(28,9)是空值

Cells(2, 1).AddComment IIf(Len(Cells(1, 2).Value) = 0, "空", Cells(1, 2).Value)
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
【名臣】f2
2013-11-26 · TA获得超过1913个赞
知道大有可为答主
回答量:1594
采纳率:0%
帮助的人:1545万
展开全部
把VALUE改成TEXT
追问
改成TEXT不在报错了,但是CELLS(28,9)里面就说一个数值150,为啥VALUE不可以呢? 有没有什么讲究?
追答
批注要是文本
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式