以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么获取EXCEL表中批注为特定内容的某个单元格的值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105699)

--  作者:noway143
--  发布时间:2017/8/24 15:06:00
--  [求助]怎么获取EXCEL表中批注为特定内容的某个单元格的值?
附录Excel与VBA中有  ClearNotes 可以清除单元格的批注,请问怎么获取单元格的批注呀?

我需要在sheet中,根据批注的内容来定位并获取单元格的位置和值。

--  作者:noway143
--  发布时间:2017/8/24 15:10:00
--  
我在一个EXCEL中根据一个批注获取某单元格的值,然后要向十几份EXCEL文件中写入这个值,在这十几份EXCEL文件中,接收值的单元格位置都不同,相同的是,他们的批注信息都一样
--  作者:有点甜
--  发布时间:2017/8/24 15:22:00
--  

参考

 

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("e:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

If ws.cells(2,1).Comment Is Nothing Then \'第二行,第一列
    msgbox("没有标注")
Else
    Dim pz As String = ws.cells(2,1).Comment.Text
    msgbox(pz)
End If

app.quit


--  作者:noway143
--  发布时间:2017/8/24 15:24:00
--  
谢谢,回复真快啊
--  作者:noway143
--  发布时间:2017/8/24 15:27:00
--  
请问怎么根据批注找单元格呀?sheet没办法遍历吧?
--  作者:noway143
--  发布时间:2017/8/24 15:34:00
--  
WorkSheet有没有Comments属性,可以直接WorkSheet.Comments("我是标注")来返回单元格坐标集合呀?
--  作者:有点甜
--  发布时间:2017/8/24 16:12:00
--  

参考代码

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

For Each bz As object In ws.Comments
    output.show(bz.parent.address & " " & bz.text)
Next

app.quit


--  作者:noway143
--  发布时间:2017/8/28 14:29:00
--  
老师,再请教一个问题:

怎么返回当前WorkSheet中焦点单元格的值?

--  作者:有点甜
--  发布时间:2017/8/28 14:37:00
--  

比如,这样获取

 

Dim str As String = app.Selection.text

msgbox(str)


--  作者:noway143
--  发布时间:2017/8/28 23:38:00
--  
再请教个问题,我在EXCEL模板中给一些单元格加了标注,和单元格公式,build之后,报表中所有单元格都左移了一格,比如说,模板中单元格I29,到报表中就变成了H29,而单元格里面的公式正常没变,导致计算结果全对不上。

而且,模板中的标注,在生成的报表中全部丢失了。

求解,谢谢