我有一个嵌入在工作表中的SAP报表,它使用另一个工作表中定义的变量通过宏刷新。一切正常,但是我在选择报告生成的数据时遇到了麻烦。
报告的标题始终位于该范围内("A17:K17")
,但结果行将有所不同,从而使我想要捕获的总范围从("A17:K18")
到(A17:K1000")
。
我认为我已经尝试过的解决方案不起作用,因为结果数据几乎没有一致性,它是文本和数字的混合,在行和列中到处都是空单元格。包括偶尔完全空的行。这意味着我之前尝试过的方法到达了认为已到达填充行末尾的位置,但是还没有。
整个报告中唯一保持不变的因素是,我要捕获的范围内的所有单元格均默认填充了颜色,而该范围外的所有单元格均未被填充。
对我来说,最简单的解决方案是使用VBA选择下面的所有单元格,包括("A17:K17")
颜色索引不为0(空白?)的标头,而不管它们的内容如何,因为我不介意捕获空单元格。除了我不知道该怎么做。
此时,我只想选择这个范围,但是我还不确定是否要将其复制到新工作簿或电子邮件中,但是可以。我只是选择了一个死胡同。
完全不确定您需要什么,但这是一个解决方案。值得注意的是,ColorIndex和Color属性在没有填充的情况下不一定都为零,因此,如果您只将blankCell更改为具有您定义为空白的填充的单元格,那就很好了。
Sub test()
Set blankCell = Range("A1") ' change this to a cell that you define to be blank
blankIndex = blankCell.Interior.Color
Set cellsDesired = Range("A17:K17")
For Each cell In Range("A17:K1000")
If cell.Interior.Color <> blankIndex Then
Set cellsDesired = Application.Union(cellsDesired, Range(cell.Address))
End If
Next cell
cellsDesired.Select
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句