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

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

在Excel工作表中显示单元格<code> A1 </ code>,其底部边界已被设置。 [ A1有下边框, A2 没有边框]

如果我然后以编程方式捕获单元格A2的格式,单元格A2 的底部边框被捕获为单元格A2的顶部边框

这不是在本机“Format Painter”中发生的情况,其中将A2的格式复制到某个其他单元格不会将任何边框添加到该目标单元格 – 我试图用代码复制的行为。

如何做到这一点?

这应该是更多的评论,但我没有获得“评论”呢。 格式化画笔和格式化单元格时所看到的不同之处在于,您是在访问Borders对象还是在range对象。 在边界对象中,2个单元共享一个共同的边界,因此都具有边界。 但是,此边框属于A1,而不是A2,所以当您复制格式时 ,只有在复制A1时才能获得边框。

为了在VBA中模仿这个,你需要复制A1并像这样做一个PasteSpecial:

 ActiveCell.PasteSpecial Paste:=xlPasteFormats