So prüfen Sie, ob Daten im Array vorhanden sind oder nicht, und fügen mit VBA Elemente zum Array hinzu

So prüfen Sie, ob Daten im Array vorhanden sind oder nicht, und fügen mit VBA Elemente zum Array hinzu

Ich schreibe immer die Daten 【AAA, BBB, CCC】 in die CSV-Datei.
Ich möchte auch andere Daten (z. B. DDD) schreiben, wenn sie in der Textdatei vorhanden sind.

Eine Anordnung:
arr = Array("AAA", "BBB", "CCC")

Textdatei (Lesen):

AAA  
BBB  
CCC  
DDD  
BBB  
CCC  
AAA  
DDD  
AAA  

Code:

Open InputFile For Input As #1  
Open OutputFile For Output As #2  
Do Until EOF(1)  
Line Input #1, strData  
'Read data from text file  
'Check text file data exists or not in arr  
'If not exist, add items(DDD) to arr  
Print #2, strData  
Loop  
Close #1  
Close #2 

CSV-Datei (Schreiben):

AAA, BBB, CCC, DDD  

Wie geht man hierfür am besten vor?

Antwort1

Filterfunktion (Visual Basic)
Gibt ein nullbasiertes Array zurück, das eine Teilmenge eines String-Arrays basierend auf angegebenen Filterkriterien enthält.

  1. Verwenden Sie die filterFunktion und überprüfen Sie die Größe des resultierenden Arrays mit Ubound().
  2. Erweitern Sie Redim preserveIhr Array um 1 und fügen Sie Ihren zuletzt überprüften Textwert hinzu.

Hier ist ein kleines allgemeines Beispiel

Sub IsInArray()

    Dim arrCheck()

    arrInput = Array("AAA","BBB","CCC","DDD","BBB","CCC","AAA","DDD","AAA")
    arrCheck = Array("AAA","BBB","CCC")

    For Each Item In arrInput
        If UBound(Filter(arrCheck, Item)) = -1 Then
            ReDim Preserve arrCheck(UBound(arrCheck) + 1)
            arrCheck(UBound(arrCheck)) = Item
        End If
    Next

End Sub

verwandte Informationen