Excel VBA:如何从单元格中的公式访问(引用)范围
我有一个单元格(如“Sheet-1”中的B2),其中包含以下公式:
='Sheet-2'!B2+'Sheet-3'!B3-'Sheet-4'!B4
现在我想要VBA代码,可以访问该单元格中input的公式中所包含的引用(即Sheet-1中的B2)中的引用,然后转到那些引用并在这些引用的单元格中进行更改。
有点扩展z的评论。
Range(<cell>).Precedents
返回一个VBA范围,表示由<cell>
引用的所有单元<cell>
例如,如果单元格A1具有公式=B1+D1
则Range("A1").Precedents = Range("B1,D1")
为了进一步满足您的问题的要求,我们可以使用For Each
循环遍历此范围内的单元格,如下例所示:
Public Sub AmendPrecedents(fromCell As Range) Dim rngReferredTo As Range Dim cell As Range Set rngReferredTo = fromCell.Precedents For Each cell In rngReferredTo 'Do something with this cell, in this case we're just coloring the background red cell.Interior.Color = RGB(255, 0, 0) Next cell End Sub