В настоящее время я пытаюсь завершить эту функцию, которая проверяет значения на другом листе, но в настоящее время проверяет только первое значение, но не проверяет дубликаты.
функции листа1
Function Checkcollipotecaassente(row As Range)
Dim ndg As String
Dim loanid As String
Dim rowindex As Integer
ndg = extrapolatendg(row)
rowindex = Sheet6.findrownumberndg(ndg)
loanid = Sheet6.getloanid(rowindex)
If Sheet7.findrownumberloan(loanid) = True Then
If Sheet6.CheckDuplicate(ndg) = True Then
Do
rowindex = Sheet6.Findrownumberdg2(rowindex)
loanid = Sheet6.getloanid(rowindex)
Loop Until Sheet7.findrownumberloan(loanid) = False
End If
Checkcollipotecaassente = True
Else
Checkcollipotecaassente = False
End If
End Function
sheet6 functions
Function CheckDuplicate(extrapolatendg As String) As Boolean
Set foundcell = Range("B:B").Find(extrapolatendg, lookat:=xlWhole)
If foundcell Is Nothing Then
CheckDuplicate = False
Else
adrFirst = foundcell.Address
Set foundcell = Sheet6.Range("B:B").FindNext(foundcell)
If foundcell.Address = adrFirst Then
CheckDuplicate = False
Else
CheckDuplicate = True
End If
End If
End Function
Function Findrownumberdg2(findrownumberndg As Integer)
adrFirst = foundcell.Address
Set foundcell = Sheet6.Range("B:B").FindNext(foundcell)
If foundcell.Address = adrFirst Then
Findrownumberdg2 = 0
Else
Findrownumberdg2 = foundcell.row
End If
End Function
Function findrownumberndg(extrapolatendg As String) As Integer
Set foundcell = Range("B:B").Find(extrapolatendg, lookat:=xlWhole)
If Not foundcell Is Nothing Then
findrownumberndg = foundcell.row
Else
findrownumberndg = 0
End If
End Function
Так что, как только findrownumberndg находит номер строки на sheet6, и функция checkduplicate находит дубликаты, мне нужно, чтобы findrownumberndg2 зациклился, пока findrownumberloan не возвращает false, но это не так.