注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐
GACHA精选

Excel-VBA提取Excel单元格的批注内容  

2013-10-15 18:08:05|  分类: VB和VBA知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Excel-VBA提取Excel单元格的批注内容 - 和平 - 零售创新,创新那些事儿,SPSS,VBA
 

有一个大型工作表,其中大约包含600行和700列。在所有43000余个单元格中大约有200个单元格包含批注。Hector希望将这些批注提取出来,并将它们放到数据表主体右侧的单元格中。例如,如果一个批注隶属于C43单元格,则他希望该批注中提取出的文本在CC43中出现并将原始批注删除。
  你可能认为你可以使用选择性粘贴功能来处理这一任务,但这一功能却并不奏效。如果你复制原始单元格并使用“编辑|选择性粘贴|批注”命令来复制,则只有批注被粘贴到目标单元格中。它们仍然是批注,而不是单元格中的文本,这与Hector的目标完全不同。
  处理这种提取文本任务的唯一方法是使用宏。使用下面的宏,当在选中的单元格中运行时,会提取批注,并移动批注中的文本,然后删除原始批注。
巧用宏随意提取Excel单元格的批注内容

Sub commentstocells()

Dim rcell as excel.range

Dim rdata as excel.range

Dim scomment as string

水平位移

Const icoloffset as integer=78

从选定区域中提取批注

If typename(selection)=”range” then

Set rdata=intersect(selection,activesheet.usedrange)

For each rcell in rdata.cells

On error resume next

Scomment=rcell.comment.text

If len(scomment)>0 then

Rcell.offset(,icoloffset).value=scommnet

Rcell.comment.delete

End if

Scomment=””

On error goto 0

next

end if

End sub 


  该宏使用了iColOffset常量来指定批注的文本要向右侧移动多少个单元格,在本例中,offset (78)相当于移动3个字母表的位置 (26 * 3),因此原来在C列中的批注文本将最终被复制到CC列中
  评论这张
 
阅读(1171)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017