Como verificar se os dados existem ou não na matriz e adicionar itens à matriz usando o VBA

1

Eu sempre escrevo dados 【AAA, BBB, CCC】 no arquivo CSV.
Eu também gostaria de escrever outros dados (por exemplo: DDD) se houver no arquivo de texto.

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

Arquivo de texto (leitura):

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 

Arquivo CSV (gravação):

AAA, BBB, CCC, DDD  

Qual é a melhor maneira de fazer isso?

    
por user275763 20.12.2013 / 06:54

1 resposta

0

Filter Function (Visual Basic)
Returns a zero-based array containing a subset of a String array based on specified filter criteria.

  1. Use a função filter e verifique o tamanho da matriz resultante com Ubound ().
  2. Use Redim preserve para expandir sua matriz em 1 e adicionar seu valor de texto selecionado recentemente

Aqui está um pequeno exemplo geral

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
    
por 22.12.2013 / 16:49