Как проверить наличие данных в массиве и добавить элементы в массив с помощью VBA

Как проверить наличие данных в массиве и добавить элементы в массив с помощью VBA

Я всегда записываю данные 【AAA, BBB, CCC】в CSV-файл.
Я бы хотел также записать другие данные (например: DDD), если они есть в текстовом файле.

Массив:
arr = Массив("AAA", "BBB", "CCC")

Текстовый файл (чтение):

AAA  
BBB  
CCC  
DDD  
BBB  
CCC  
AAA  
DDD  
AAA  

Код:

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 (запись):

AAA, BBB, CCC, DDD  

Как лучше всего это сделать?

решение1

Функция фильтра (Visual Basic)
Возвращает массив с отсчетом от нуля, содержащий подмножество массива строк на основе указанных критериев фильтрации.

  1. Используйте filterфункцию и проверьте размер полученного массива с помощью Ubound().
  2. Используйте Redim preserveдля расширения массива на 1 и добавления недавно проверенного текстового значения.

Вот небольшой общий пример

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

Связанный контент