Существует ли способ быстрого объединения таблиц в одну, последовательно? 1. Таблицы не имеют шапки 2. Таблицы по 100 строк и 6 столбцов. 3. Таблицы расположены на одном листе, друг за дружкой. Таблиц таких может быть до 45 штук
Данные не должны перемешаться, объединиться или как-то ещё измениться. Нужно просто расположить их вертикально друг за дружкой без разрыва, по сути сделать одну длинную таблицу.
В оригинале стобцы в таблицах-исходниках никак не подсвечены и не названы, в файле-примере я для удобства восприятия их покрасил. В файле-примере лист1 - это то, что есть, лист2 - то, что должно получиться.
Всем привет! Друзья, помогите ускорить вот этот макрос:
Код
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 строк в столбце? В идеале конечно, чтобы он просчитывал только заполненные ячейки.