2016-11-12 4 views
0

Ich brauche eine Funktion, die doppelte Elemente in einem Array in VBA löschen wird, habe ich gesucht, aber keine der angegebenen Funktionen funktionierte für mich, sie geben immer eine Art von Error. So können sagen, ich habe ein Array von Strings:VBA (Microsoft Access) Funktion zum Löschen von Duplikaten in Array

Dim strArray() As String 
strArray = Split("word1, word2, word3, word1, word2, word4", ",") 

Ich brauche eine Funktion, die eine andere „gefilterten Reihe“ zurückkehren, die keine Duplikate enthalten, so wird es enthalten „word1, word2, word3, Word4“ Kann mir jemand helfen mich? Danke!

+0

http://stackoverflow.com/a/15877730/1519058 verwendet werden? – Enissay

+0

dieser Code gibt mir "Falsche Anzahl von Argumenten oder ungültige Zuweisung von Eigenschaften" – Markazol

+0

@Markazol, haben Sie meinen Code versucht? – user3598756

Antwort

2
Function FilterWords(words() As String) As String() 
    Dim word As Variant 
    Dim newWords As String 

    For Each word In words 
     If InStr(newWords, word) = 0 Then newWords = newWords & word & "," 
    Next word 
    FilterWords = Split(Left(newWords, Len(newWords) - 1), ",") 
End Function 

zu wie

Sub main()  
    Dim strArray() As String, strFilteredArray() As String 

    strArray = Split("word1,word2,word3,word1,word2,word4", ",")   
    strFilteredArray = FilterWords(strArray) 
End Sub 
+0

Das funktioniert perfekt, vielen Dank! – Markazol

+0

Sie sind willkommen – user3598756

Verwandte Themen