Excel VBA-选择注释单元格时获取第一个单元格

Excel VBA-选择注释单元格时获取第一个单元格,excel,vba,Excel,Vba,我有几张纸,我想阅读每一张纸上的所有评论。 我设法得到了评论,但我能得到的是评论单元格的同一行和同一列的第一个单元格。(附图) 红细胞 绿色-所需的单元格值 也许就换一行 newWs.Cells(i, 1).Resize(1, 5).Value = Array(ws.Name, rng.Address, rng.Value, rng.Comment.Text, ws.Cells(rng.Row, 2)) 仅供参考-如果newWS不是活动工作表,则行计数将在另一个工作表上运行。您应该(假设您想

我有几张纸,我想阅读每一张纸上的所有评论。 我设法得到了评论,但我能得到的是评论单元格的同一行和同一列的第一个单元格。(附图)

红细胞

绿色-所需的单元格值


也许就换一行

newWs.Cells(i, 1).Resize(1, 5).Value = Array(ws.Name, rng.Address, rng.Value, rng.Comment.Text, ws.Cells(rng.Row, 2))

仅供参考-如果
newWS
不是活动工作表,则
行计数将在另一个工作表上运行。您应该(假设您想对
NewWS
中的行进行计数)将行更改为
i=NewWS.Cells(NewWS.rows.count,1).End(xlUp).Row
。你能拿到日期单元格吗?想知道如何得到B列中同一行的单元格吗?您的代码是否出错或做了错误的事情@BruceWayne-同意这是一个很好的做法,但考虑到每张工作表的行数相同,这真的很重要吗?是的,没错,我设法得到了日期单元格,我想得到同一行的单元格。@David你可以使用
范围([Date cell])偏移量(0,-5)
,不是吗?
newWs.Cells(i, 1).Resize(1, 5).Value = Array(ws.Name, rng.Address, rng.Value, rng.Comment.Text, ws.Cells(rng.Row, 2))