2016-03-14 4 views
0

У меня есть два очень больших файла, которым нужна информация, передаваемая между ними. В настоящее время я просматриваю два больших файла и использую массив для хранения меньшего файла. Затем я обновляю поля в большем файле элементами из массива, и это работает, но для этого требуется много времени. То, что я пытаюсь сделать, это иметь как файлы в отдельных массивах, так и прокручивать массивы и вставлять элементы из одного массива в другой, как и файлы.Вставка элементов в массив на основе значений из другого массива

Я могу найти то, что ищу, мне сложно вставить имя.

'loop through first Array 
For X = UBound(arrOne) To 2 Step -1 

    'loop through second array 
    For A = UBound(arrTwo) To LBound(arrTwo) Step -1 

     'check if the primary key in the first array is in the second array 
     If arrOne(X, 1) = arrTwo(A, 1) Then 

      'if the keys match find the secondary key 
      'AND make sure the name field is empty 
      If arrOne(X, 69) = arrTwo(A, 2) And arrOne(X, 83) = "" Then 

       'if keys match and there is no name - insert the name 
       'from arrTwo into arrOne 
       arrOne.Add(X, 69) arrTwo(A, 2) 

      End If 

     Else 

      'Insert Empty Values into Insurance rows 

     End If 
    Next A 
Next A 
+0

В каком формате находятся файлы? CSV? Простые строки текста? – Blackhawk

ответ

0

Массивы не имеют Add метод. Если вы просто хотите, чтобы присвоить значение из одного массива в слот в другом:

arrOne(X, 69) = arrTwo(A, 2) 

Неясно, какова цель этой линии, хотя, так как вы уже проверили эти два значения были равны?

Если вы ожидаете только одного матча, то добавив Exit For после того, как эта линия ускорит вашу обработку.

Смежные вопросы