如何正确捕获Excel单元格边框?

时间:2012-10-25 09:31:45

标签: excel excel-vba vsto excel-2007 excel-2010 vba

我使用“格式单元格”为单元格添加了底边框(例如A1):

Shows cell <code>A1</code> in Excel sheet whose bottom border has been set. [A1有一个底部边框,A2 没有 边框。]

如果我然后以编程方式捕获单元格A2 的格式,则单元格A1 的下边框将被捕获为单元格A2的上边框

这不是原生“Format Painter”中发生的情况,其中将A2的格式复制到其他单元格不会向该目标单元格添加任何边框 - 我尝试使用代码复制的行为。

如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

这应该是一个评论,但我还没有“评论”。格式化画家与格式化单元格时看到的内容之间的区别在于您是访问Borders对象还是range对象。在border对象中,2个单元格共享一个公共边框,因此两者都有边框。但是,此边框属于A1,而不是A2,因此当您复制格式时,只会在复制A1时获得边框。

要在VBA中模仿这个,你需要复制A1并像这样执行PasteSpecial:

ActiveCell.PasteSpecial Paste:=xlPasteFormats