如何使函数递归

问题描述 投票:0回答:1

我有一大堆数据(差不多12k行)。我想搜索A列中的关键字(例如:名称“),然后将其对应的值从列B移动到新工作表。我有这个工作,但无法弄清楚如何使其递归所以它看起来所有12k A栏中的条目。请帮忙。

请参阅下面的脚本,但需要递归

Sub Test()

With Sheets("original")
    If .Range("A24").Value = "Name        " Then
        Sheets("new").Range("A1").Value = .Range("B24").Value
    End If
End With

End Sub
excel vba excel-vba
1个回答
0
投票

您可以循环遍历单元格范围并使用offset来获取B列中的值以放置在新工作表中。它不需要递归

Sub Test()
Dim c As Range
Dim iRow As Long
    iRow = 1
    For Each c In Sheets("original").Range("A:A")
    If c.Value = "Name        " Then
        Sheets("new").Cells(iRow, 1).Value = c.Offset(0, 1).Value
        'move to the next row
        iRow = iRow + 1
    End If
    Next c
End Sub