我有以下代码,但我遇到了麻烦:
Sub getAccNos()
Dim oNameRange As Range
Dim oFindRng As Range
Dim sName As String
Dim sAccNo As String
Set oNameRange = Workbooks("New Name Work.xls").Worksheets("Manual").Range("B4")
Do While Not oNameRange.Text = ""
sName = Trim(oNameRange.Text)
Workbooks("New Name Work.xls").Worksheets("sheet1").Select
Set oFindRng = Cells.Find(What:=sName, After:=activecell)
Do While Not oFindRng Is Nothing
oNameRange.Offset(0, -1).Value = oFindRng.Offset(0, 1).Text
oFindRng.Offset(1, 0).Activate
Set oFindRng = Cells.Find(What:=sName, After:=activecell)
Loop
Set oNameRange = oNameRange.Offset(1, 0)
Loop
End Sub
基本上,在工作表sheet1上,我有一个带有帐号的名称列表,并且可以有多个具有相同名称的帐号。在我的目标表上,称为Manual,我有名字....但是帐号丢失了,我想得到它们。
我不能使用 VLOOKUP,因为有几个名称相同,我需要获取所有帐号的列表。我怎样才能做到这一点?
我尝试在 VBA 中使用 FIND 编写上述代码,不幸的是,我错过了一些基本的东西,因为在内部 Do Loop 中它只是在应该退出时连续循环(至于第一个只有一次出现)
感谢您向我展示我做错了什么,或者也许一个公式会更好?