Копирование данных длиной не менее 3 символов из таблицы 2 - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть код VBA, который проверяет сходство между двумя таблицами и проверяет совпадение трех столбцов, и, если есть совпадение строки, которая была сопоставлена ​​спереди, другая таблица копируется непосредственно рядом со строкой таблицы 1. Например:

Table A 
Name.|number|code.|Amount|
  A. |  6.  | BH1.| 1000 |

И во второй таблице, если есть аналогичная запись в таблице B, где есть строка

Table B 
Name.|number|code.|Amount|
  A. |  7.  | BH1.| 1000 |

Так что после выполнения кода будет таблица C, гдезапись из таблицы B будет вставлена ​​в ячейки E: H для этой строки в таблице A, потому что с этой таблицей сопоставлены три элемента.

Я использовал три столбца сцепления, использовал vlookup для таблицы B и получал ее строкучисло и копия вставляет его.

Работает нормально, но в таблицах почти 3000 записей, и запуск кода занимает около 20 минут. Из-за использования vlookup и copy paste.

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

Я хочу пояснить одну вещь: в каждой таблице будет только один уникальный набор. Это только один соответствующий контент. Это не то, что я хочу, чтобы все А соответствовали всем А. Значения уникальны для каждой записи в той же таблице.

По сути, две таблицы подготовлены двумя разными людьми, и я хочу сравнить обе таблицы, но не с одним аспектом, таким как сопоставить это имя, например, ABC с ABC в следующей таблице. Он сопоставляет либо совпадение имени и кода и суммы с другой таблицей, либо совпадение имени и кода и суммы, но возможны разные варианты.

...