Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Сведение нескольких таблиц в одну, последовательно, Как в эксель объединить несколько таблиц в одну, последовательно, vba
 
В продолжение темы:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=121965&TITLE_SEO=121965-kak-uskorit-makros-ogranichiv-chislo-proschityvaemykh-strok

Существует ли способ быстрого объединения таблиц в одну, последовательно?
1. Таблицы не имеют шапки
2. Таблицы по 100 строк и 6 столбцов.
3. Таблицы расположены на одном листе, друг за дружкой. Таблиц таких может быть до 45 штук

Данные не должны перемешаться, объединиться или как-то ещё измениться. Нужно просто расположить их вертикально друг за дружкой без разрыва, по сути сделать одну длинную таблицу.

В оригинале стобцы в таблицах-исходниках никак не подсвечены и не названы, в файле-примере я для удобства восприятия их покрасил.
В файле-примере лист1 - это то, что есть, лист2 - то, что должно получиться.  
Как ускорить макрос, ограничив число просчитываемых строк?, макросы VBA
 
Всем привет!
Друзья, помогите ускорить вот этот макрос:
Код
Sub SplitColumn()
    'Updateby20141106
    Dim rng As Range
    Dim InputRng As Range
    Dim OutRng As Range
    Dim xRow As Integer
    Dim xCol As Integer
    Dim xArr As Variant
    xTitleId = "KutoolsforExcel"
    Set InputRng = Application.Selection
    Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
    xRow = 100
    Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
    Cells(InputRng.Row, InputRng.Column).Resize(InputRng.Rows.Count, 1).Interior.Color = 15773696
    Set InputRng = InputRng.Columns(1)
        xCol = InputRng.Cells.Count / xRow
    ReDim xArr(1 To xRow, 1 To xCol + 1)
    For i = 0 To InputRng.Cells.Count - 1
        xValue = InputRng.Cells(i + 1)
        iRow = i Mod xRow
        iCol = VBA.Int(i / xRow)
        xArr(iRow + 1, iCol + 1) = xValue
    Next
    OutRng.Resize(UBound(xArr, 1), UBound(xArr, 2)).Value = xArr
End Sub

Он разбивает информацию в одном столбце на табличку из нескольких столбцов, в каждом из которых 100 значений только. В столбце-доноре заполненных ячеек от 600 до 2000 штук. Проблема такая, что при работе нужно выделять полностью столбец (т.е. автоматом вводятся значения, например $A:$A), вписывать вручную или выделять вручную диапазон - не вариант, ещё дольше будет (т.к. столбцов много). И из этой проблемы вытекает следующая: на 1 столбец скрипт выполняется 10 секунд, потому что просчитывает все 1кк строчек в этом столбце. Пробовал вручную выделять диапазон в 600 строк - делает мгновенно

Как сделать так, чтобы макрос вычислял не более 1000 или 2000 строк в столбце? В идеале конечно, чтобы он просчитывал только заполненные ячейки.

UPD. Продолжение темы со сведением таблиц тут:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=122023&TITLE_SEO=122023-svedenie-neskolkikh-tablits-v-odnu-posledovatelno&MID=1009514&result=new#message1009514
Изменено: Roman911 - 23.10.2019 17:39:51
Страницы: 1
Наверх