Чтобы полностью перенести данные из текущего диапазона ячеек в новую таблицу, вам необходимо знать, насколько велик диапазон используемых ячеек вокруг активной ячейки. Или вы можете позволить Excel сделать это за вас и скопировать g
Хотели бы вы автоматически копировать все ячейки из непрерывного диапазона ячеек в макросе? Это особенно полезно, если вы хотите гибко реагировать на ввод от пользователей и не знаете, насколько велики вводимые области данных.
Вы можете использовать макрос для выполнения этой работы. Макрос определяет все ячейки вокруг активной ячейки и копирует именно эти ячейки в новую книгу.
На следующем рисунке показана таблица с тремя различными областями данных. Они имеют цветовую маркировку, чтобы их было легче увидеть.
Все ячейки, которые соединяются с соседними ячейками без пустых ячеек, считаются принадлежащими друг другу.
С помощью подходящего макроса вы можете гарантировать, что после щелчка по ячейке в диапазоне ячеек все принадлежащие ей ячейки будут скопированы в новую таблицу. Вот соответствующий программный код:
Подкопировать текущую область ()
Область тусклого источника Как Диапазон
Развернуть новый лист как рабочий лист
Установить исходную область = ActiveCell.CurrentRegion
Установите NeuesBlatt = Workbooks.Add.Worksheets (1)
Исходная область.Копировать Destination: = NeuesBlatt.Range ("A1")
Конец подписки
Перед вызовом макроса щелкните любую ячейку в таблице. Макрос определяет все ячейки, которые вместе с выбранной ячейкой принадлежат диапазону, и копирует этот диапазон данных в новую пустую книгу. На следующем рисунке показано, как выглядит результат после вызова макроса, если ячейка E9 в таблице из первого рисунка выбрана до запуска макроса.
Чтобы ввести макрос, нажмите ALT F11 в Excel, чтобы открыть редактор VBA. Выберите команду ВСТАВИТЬ - МОДУЛЬ в редакторе VBA и введите макрос. Чтобы запустить макрос, активируйте комбинацию клавиш ALT F8 в Excel. Два сочетания клавиш для запуска редактора VBA и макроса работают во всех версиях Excel.