1

У меня есть две отдельные таблицы в Excel, которые я хотел бы, чтобы оба имеют один и тот же первый столбец и одинаковое количество строк.

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

Допустим, если я удаляю строку из таблицы 1, она должна удалить ту же строку из таблицы 2.

То же самое происходит, если я добавляю строку в таблицу 1, она должна добавлять строку в таблицу 2.

Другие столбцы в таблицах не будут содержать те же данные.

У меня очень мало опыта работы с таблицами, но я хорошо знаю VBA, поэтому я открыт для любых предложений.

3 ответа3

1

Допустим, если я удаляю строку из таблицы 1, она должна удалить ту же строку из таблицы 2.

То же самое происходит, если я добавляю строку в таблицу 1, она должна добавлять строку в таблицу 2.

Другие столбцы в таблицах не будут содержать те же данные.


ДА. Создать таблицу. Выберите вкладку Данные из таблицы, чтобы получить новую таблицу запросов, которая извлекает свои данные из исходной таблицы.


Процедура


1a. Создать таблицу
1б. Назовите ЛИСТ, что-то полезное (например, БД)


2а. Выберите вкладку данных.
2b. Выберите "Из таблицы" в разделе "Получить и преобразовать".
2с. Назовите этот запрос чем-нибудь полезным (например, Table_DB) - см. Img_3
2d. Закройте и загрузите запрос. - см. img_4

3. Это ваша новая таблица, новый запрос к вашей исходной таблице в Step_1. Эта таблица является рабочим дубликатом вашей существующей таблицы. - по имени Лист5 изображение_5

4а. Переименуйте свой новый SHEET, Sheet5, во что-нибудь полезное, например DB_QUERY. Смотрите изображение 6.
4b. Выполнить запрос к таблице DB_QUERY. Выберите Возраст drop_arrow для выполнения запроса.
4c. Выберите «Больше, чем» при выборе запроса. Давайте попробуем смотреть только на людей с возрастом более 30 лет. - см. изображение_6
4d. Это запрос. Введите 30. Нажмите Enter, чтобы принять запрос. - см. изображение_7

5. Обратите внимание, что на шаге 4, есть только два человека в возрасте старше 30 лет. Но Стэн уволился с работы. Давайте удалим Stan из этой БД (базы данных). НЕ УДАЛЯЙТЕ ИЗ ЗАПРОСА. Поддерживать целостность запроса, поддерживая его источник; Таблица БД из шага_1.
5б. Выберите БД, нажав на правильную вкладку листа. - см. изображение_8
5с. Удалить Стэн из таблицы. - см. изображение_9
5с-1. Аналогичным образом, если вы добавите человека, он также будет добавлен в таблицу запросов.
5d. Стэн теперь удален из таблицы БД. - см. изображение_10

6а. Стэн теперь удален из таблицы БД. Но, похоже, что DB_Query не раскрывает эти изменения? - см. image_11
6b. На самом деле таблицы, DB и DB_Query, синхронизированы. Вам просто нужно обновить DB_Query; обновить запрос, щелкнув значок обновления - см. изображение_12

Если запрос визуально недоступен, как на шаге 6, выберите вкладку "Данные", затем выберите "Показать запросы" в разделе "Получить и преобразовать".


СПРАВОЧНЫЕ ИЗОБРАЖЕНИЯ НИЖЕ


изображение 1

изображение 2

изображение 3

изображение 4

изображение 5

изображение 6

изображение 7

изображение 8

изображение 9

изображение 10

изображение 11

изображение 12

0

Вам нужно только разместить таблицы на разных листах, с одинаковым столбцом и строкой.

При добавлении или удалении записи выберите все листы, для которых требуется выполнить операцию (Ctrl + щелчок по отдельным листам или, в случае большого количества листов, Shift + щелчок по первому целевому листу и последнему целевому листу) и введите обычно или удалите.

Операции будут выполняться на всех выбранных листах. Протестировано для Microsoft Excel 2016.

0

Трудно дать достойный ответ, не видя таблиц, но по звуку я думаю, что самым простым решением было бы использование трех таблиц. Создайте новую таблицу, которая будет table 1 дополненной столбцами 2 - n table 2 . Это будет единственное место, где вы вводите или удаляете данные. Допустим, это на листе под названием raw data

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

=IF('raw data'!A1<>"",A1,"")

Сделайте то же самое для table 2 , то есть создайте новый лист, используя эту формулу, но сместите столбцы соответствующим образом.

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

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