1. Как я могу сравнить два соответствующих списка из отдельных рабочих книг? А затем получить данные из той же строки, но из другого столбца - (для этого может подойти Index & Match). Но как это выглядит, когда соединено? Можно ли использовать его в макросе?
    2. Как вы звоните / запрашиваете ссылку на ячейку данных для вставки, а не сами данные? (Диск / папка / Учебное пособие / рабочий лист:CellReference)

Моя ситуация:

У меня есть рабочая тетрадь (Мастер). Мастер огромный. Имеет многочисленные ежегодные отчеты (2001, 2002, 2003, до 2010). Каждый из них имеет один и тот же список категорий в колонке A:A. Данные в каждом листе находятся в столбцах B, C, D & E.

Моя работа состоит в том, чтобы получить данные от MASTER в рабочую книгу COPY. У КОПИИ будет один лист с таким же списком категорий в КОЛОННЕ A:A.

На рабочем листе COPY будут сгруппированы данные соответствующих годовых рабочих листов - все данные из столбца B будут сгруппированы в смежные столбцы; и тогда все данные из столбца C будут сгруппированы в следующий набор столбцов; так далее...

Данные в мастере могут изменяться, поэтому я не могу просто скопировать и вставить основную информацию, мне нужно сослаться на нее.

О, и мне, возможно, придется выполнить это упражнение для более чем 30 рабочих книг ... вот почему я заинтересован в работе с макросами, чтобы я мог запускать (исправлять) при необходимости.

Как всегда, большое спасибо за любые советы, ссылки или рекомендации

Майк.

1 ответ1

0

Это действительно вопрос к переполнению стека, но ...

Для вопроса 1 я настоятельно рекомендую использовать ADO. Он чистый, быстрый, позволяет передавать запросы SQL и не требует открытия файла для извлечения его данных.

Хороший учебный список находится здесь: http://www.xtremevbtalk.com/showthread.php?t=217783

Сначала это может показаться сложным, но гораздо проще, чем альтернатива.

На вопрос 2, если вы пытаетесь связать эти ячейки, я предлагаю вам избежать этого. Строки и столбцы могут быть вставлены, когда одна рабочая книга закрыта, и ваша ссылка будет полностью неверной - и худшая часть: вы даже не поймете это, потому что она, вероятно, все равно будет извлекать данные, которые выглядят правильно, в зависимости от вашего набора данных.

Если вы используете ADO, вы можете встроить функцию автоматического обновления из исходной рабочей книги при каждом открытии сводной книги (Workbook_Open в объекте ThisWorkbook в редакторе VBA) или с помощью кнопки на самом листе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .