VBA を使用して配列にデータが存在するかどうかを確認し、配列に項目を追加する方法

VBA を使用して配列にデータが存在するかどうかを確認し、配列に項目を追加する方法

CSVファイルには必ず【AAA、BBB、CCC】というデータを書き込みます。
テキストファイルであれば、他のデータ(例: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

関連情報