相关疑难解决方法(0)

递归VBA先例

我有一个excel电子表格,其中包含一些我跟踪的公式和数据.我有一个小宏,可以找到所选单元格的先例,但是id就像使宏递归一样,这样我就可以找到所有的先例.例如,将焦点设置到单元格并运行此函数将突出显示单元格,然后突出显示单元格的先例,然后突出显示这些单元格的先例,然后突出显示先例...

我现在遇到的问题是我不确定应该逃脱的条件是什么.我遇到了一些无限循环问题,并且不熟悉递归,足以找出一个可靠的解决方案.

下面是我用来(正确)找到初始先例的一些代码:

Sub FindClosedWbReferences(inRange As Range)
Rem fills the collection With closed precedents parsed from the formula String
Dim testString As String, returnStr As String, remnantStr As String
testString = inRange.Formula
testString = RemoveTextInDoubleQuotes(testString): Rem New line
Set ClosedWbRefs = New Collection
Do
    returnStr = NextClosedWbRefStr(testString, remnantStr)
    ClosedWbRefs.Add Item:=returnStr, Key:=CStr(ClosedWbRefs.count)
    testString = remnantStr
    inRange.Select
    inRange.Interior.ColorIndex = 36

Loop Until returnStr = vbNullString

ClosedWbRefs.Remove ClosedWbRefs.count
End Sub
Run Code Online (Sandbox Code Playgroud)

这是从一个类似于以下内容的main函数调用的:

 If homeCell.HasFormula Then
    Set OtherWbRefs = New Collection: CountOfClosedWb = 0
    Set …
Run Code Online (Sandbox Code Playgroud)

excel recursion vba excel-vba

8
推荐指数
1
解决办法
2254
查看次数

标签 统计

excel ×1

excel-vba ×1

recursion ×1

vba ×1