从Excel 2016 VBA中的单元格范围中删除底部边框-不工作?
我有一个范围sh.RangeF46:I46,当前有一个薄的底部边框,我想使用VBA来摆脱它,但是我尝试的解决方案失败了。现在我只有:从Excel 2016 VBA中的单元格范围中删除底部边框-不工作?,excel,vba,Excel,Vba,我有一个范围sh.RangeF46:I46,当前有一个薄的底部边框,我想使用VBA来摆脱它,但是我尝试的解决方案失败了。现在我只有: sh.Range("F46:I46").Borders(xlEdgeBottom).LineStyle = xlNone 我也试过: For Each r In sh.Range("F46:I46") r.Borders(xlEdgeBottom).LineStyle = xlNone Next r sh.Ran
sh.Range("F46:I46").Borders(xlEdgeBottom).LineStyle = xlNone
我也试过:
For Each r In sh.Range("F46:I46")
r.Borders(xlEdgeBottom).LineStyle = xlNone
Next r
sh.Range("F46:I46").Borders.LineStyle = Excel.XlLineStyle.xlLineStyleNone
…这实际上是同一件事,我也尝试过:
For Each r In sh.Range("F46:I46")
r.Borders(xlEdgeBottom).LineStyle = xlNone
Next r
sh.Range("F46:I46").Borders.LineStyle = Excel.XlLineStyle.xlLineStyleNone
…我认为这是一个VB.net代码
我哪里出错了?????谢谢 我发现是什么让它起作用了。我刚才用过:
sh.Range("F46:I48").Borders.LineStyle = xlNone
…没有在Borders函数中指定xlEdgeBottom,并稍微扩展范围,因此在我的范围附近应用的任何边界都不是xlEdgeBottom类型。这个命令只是将它们全部删除
另外,另一个有效的解决方案是,使用以下方法将普通单元格样式应用于所讨论的范围:
sh.Range("F46:I48").Style = "Normal"
谢谢大家 是因为F47:I47有上边框吗?Borders是单元格的子属性,反之亦然。它适合我。我希望它不是线形?还有另一种可能性。边界不是第46行或第47行的边界,而是第48行或其他大于47行的边界。想象一下。第47排是隐藏的。第46行有底部边框,第48行有顶部边框。您的代码将删除第46行的下边框,但您仍然会看到下边框,实际上是第48行的上边框。其他可能性;单元格受到保护,下一个错误是隐藏它,甚至可能指向完全不同的工作表。因此,如果这是一个较大宏的一部分,我想您最好发布更多代码。奇怪的是,当您选择一个完全围绕单元格的区域并在“开始”选项卡上单击“单元格样式库”中的“正常”时,会发生什么?很好的后续操作。祝贺你的成功。