배열에 데이터가 있는지 확인하고 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)
지정된 필터 기준에 따라 문자열 배열의 하위 집합을 포함하는 0부터 시작하는 배열을 반환합니다.

  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

관련 정보