Как автоматически заполнить несколько листов данными из таблицы в Excel

Как автоматически заполнить несколько листов данными из таблицы в Excel

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

Вот пример того, что я пытаюсь сделать.

  • На первом листе все данные

введите описание изображения здесь

  • На остальных листах есть ячейки, которые необходимо заполнить данными с первого листа.

введите описание изображения здесь

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

решение1

Здесь есть пара путей, но они полагаются на соответствие макета от страницы к странице. И на то, что формула в ячейке результата одинакова от страницы к странице.

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

Если вы начинаете с нуля, последний путь, безусловно, проще. Если у вас есть существующие листы и материалы и вам нужно добавить эти блоки поиска, первый путь — это путь.

Это сложнее, если они должны быть на каждом листе, но в немного разных местах (например, не B10:C11, но, возможно, некоторые из них должны быть в F23:G11). В этом случае вы можете найти неиспользуемое место на листах, следовать предыдущему подходу выше (выбрать все вкладки и т. д.) и построить блок. Затем перейдите на каждый лист и выберите, затем перетащите ячейки блока в нужные им места на разных страницах. Если эти различия ограничены, может быть, всего три разных набора адресов, вы можете смешать их, чтобы выбрать вкладки и заполнить весь первый набор, затем следующую группу и, наконец, последнюю. Точные потребности диктуют, но следуйте идее.

Или просто постройте его на одном, затем скопируйте блок поиска в буфер обмена и переходите на каждую страницу, вставляя блок по мере продвижения. Если вы используете абсолютную адресацию для диапазонов поиска (значение поиска, столбец результатов поиска или диапазон результатов поиска) и относительную адресацию для чего-либо еще, это тоже будет работать хорошо.

Другой подход — создать блок, а затем использовать Immediate Window VBA для копирования и вставки. Создать диапазон для вставки тоже было бы легко, используя стандартные методы построения строк, так что это было бы сделано за пару маленьких шагов, а не бегать мышкой по листам, и поскольку это была бы команда для одноразового использования в Immediate Window, нет макроса, нет сохранения в виде файла макроса, вообще ничего подобного.

Но если листы будут по сути одинаковыми, и на каждом листе будет производиться поиск записи, но в диапазоне данных на «главной странице», И вы создаете ее с нуля, создайте главный лист, затем одну страницу с поиском и всем остальным, что нужно странице, а затем просто скопируйте лист столько раз, сколько необходимо.

Связанный контент