gpt4 book ai didi

vba - Excel VBA 递归搜索

转载 作者:行者123 更新时间:2023-12-03 03:20:10 24 4
gpt4 key购买 nike

我编写了一个Excel VBA代码,供用户输入ID,Excel数据表中的相应数据将显示为输出

Sub finddata()
Dim North As Long
Dim finalrow As Long
Dim i As Long
Dim count As Long
Sheets("ML").Range("K5:P200").ClearContents
North = Sheets("ML").Range("K2").Value
finalrow = WorksheetFunction.CountA(Sheet1.Columns(1))
For i = 2 To finalrow
If Cells(i, 4) = North Then
Range(Cells(i, 1), Cells(i, 6)).Copy
Range("K100000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i
End Sub

现在我需要修改代码以递归地搜索结果。例如,来自上述搜索的输出单元 ID 也出现在具有不同 Con 编号的“父单元 ID”字段中。我们也需要招募这些人。这个循环应该持续下去,直到显示完整的集合。任何帮助将不胜感激

最佳答案

正如一条评论中所述,您应该使用 .findnext;话虽如此,我会尝试这个:

Sub finddata()

Dim North As Long
Dim finalrow As Long
Dim i As Long
Dim count As Long

Sheets("ML").Range("K5:P200").ClearContents
North = Sheets("ML").Range("K2").Value
finalrow = WorksheetFunction.CountA(Sheet1.Columns(1))

With ActiveSheet.Range("A1:F" & finalrow)

Set cellid = .Cells.Find(What:=North)

If Not cellid Is Nothing Then

Do Until cellid Is Nothing

Range(Cells(cellid.Row, 1), Cells(cellid.Row, 6)).Copy
Range("K100000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats

Set cellid = .FindNext(cellid)
Loop

End If

End With

End Sub

关于vba - Excel VBA 递归搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com