Hallo Dank dafür, das Problem aber die Werte ist verändern, so dass beim nächsten Woche der Name in Blatt 1 könnte sein, in in „A1“, aber dann in Blatt 2 wird in „F12“ und dann könnte in „F14“, so seine nur eine Möglichkeit, den Code der Verwendung entsprechend zu aktualisieren, auch Ihre vba verwendet und noch kein Glück :(- Calum 9 Minuten vor
eine Formel ist der richtige Weg zu gehen Sie. kann COUNTIF
verwenden, um nach der Existenz zu suchen.Setzen Sie diese Formel in Zelle M1 und ziehen Sie sie herunter
=IF(COUNTIF($F$1:$F$14000,A1)>0,"Yes","No")
Allerdings, wenn Sie noch Code verwenden möchten, versuchen Sie diese (Ungeprüfte)
Sub Sample()
Dim name1 As Variant, name2 As Variant, answer(1 To 14000) As String
Dim ws As Worksheet
Dim i As Long
With ThisWorkbook
name1 = .Worksheets("Sheet0").Range("A1:A14000").Value
name2 = .Worksheets("Sheet1").Range("F1:F14000").Value
For i = 1 To 14000
If IsInArray(name1(i, 1), name2) Then answer(i) = "Yes" Else answer(i) = "No"
Next i
.Worksheets("Sheet1").Range("M1").Resize(UBound(answer), 1).Value = _
Application.WorksheetFunction.Transpose(answer)
End With
End Sub
Function IsInArray(stringToBeFound As Variant, arr As Variant) As Boolean
Dim bDimen As Byte, i As Long
On Error Resume Next
If IsError(UBound(arr, 2)) Then bDimen = 1 Else bDimen = 2
On Error GoTo 0
Select Case bDimen
Case 1
On Error Resume Next
IsInArray = Application.Match(stringToBeFound, arr, 0)
On Error GoTo 0
Case 2
For i = 1 To UBound(arr, 2)
On Error Resume Next
IsInArray = Application.Match(stringToBeFound, Application.Index(arr, , i), 0)
On Error GoTo 0
If IsInArray = True Then Exit For
Next
End Select
End Function
Warum fügen Sie zuerst die Namen 'name1()' und 'name2()' und dann nach einer Übereinstimmung überprüft? Ist Ihr einziges Ziel zu überprüfen, ob die Namen übereinstimmen? – DragonSamu
Hallo @DragonSamu, aus der zweiten Zeile der Name hinzugefügt werden, wenn die Namen zwischen den beiden Blättern übereinstimmen, dann wird die 13. Spalte anzeigen "Ja" auf der Match-Zeile. – Calum
würde nicht eine Formel im gesamten Bereich einfügen schneller sein? – DragonSamu