Cómo verificar que los datos existan o no en la matriz y agregar elementos a la matriz usando VBA

Cómo verificar que los datos existan o no en la matriz y agregar elementos a la matriz usando VBA

Siempre escribo datos 【AAA, BBB, CCC】 en un archivo CSV.
También me gustaría escribir otros datos (por ejemplo: DDD) si los hay en un archivo de texto.

Una matriz:
arr = Matriz("AAA", "BBB", "CCC")

Archivo de texto (leer):

AAA  
BBB  
CCC  
DDD  
BBB  
CCC  
AAA  
DDD  
AAA  

Código:

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 

Archivo CSV (escribir):

AAA, BBB, CCC, DDD  

¿Cuál es la mejor manera de hacer esto?

Respuesta1

Función de filtro (Visual Basic)
Devuelve una matriz de base cero que contiene un subconjunto de una matriz de cadenas según los criterios de filtro especificados.

  1. Utilice la filterfunción y verifique el tamaño de la matriz resultante con Ubound().
  2. Úselo Redim preservepara expandir su matriz en 1 y agregar el valor de texto verificado recientemente

He aquí un pequeño ejemplo general.

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

información relacionada