bedvit,
Действительно, все на самом деле легче чем я думал...
Спасибо Вам ОГРОМНОЕ.
А помогите мне пожалуйста ...
где можно по подробнее почитать как работает данный макрос, если конечно это вообще макрос....
Дело в том, что через n-ый промежуток времени мне необходимо будет менять саму структуру таблицы, т.е. сначала удалять какое то кол-во строк и столбцов потом наоборот добавлять...
хотелось бы разобраться как это все работает
Что бы я мог самостоятельно редактировать.
ссылка на пост откуда я взял документ приложенный выше
текст
2 Ноя 2011 12:42:47
Какая-то стрёмная задача... Могут быть всякие неожиданности.
Я бы собирал на общий лист только по особой нужде...
Но есть например такой вариант - тянем данные динамически при активации листа.
Так через массив (без форматов ячеек), а в файле - копированием диапазона:
Option Explicit
Const rrow = 4
Private Sub Worksheet_Activate()
Dim a(), sh As Worksheet, ind&
Application.ScreenUpdating = False
Range("a" & rrow & ":ar" & Cells(rrow, 1).End(xlDown).Row).Clear
For Each sh In Worksheets
With sh
If .Index <> ActiveSheet.Index Then
a = .Range("a" & rrow & ":ar" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
Cells(rrow + ind, 1).Resize(UBound(a), 44) = a
ind = ind + UBound(a)
End If
End With
Next
Range(Cells(rrow, 1), Cells(rrow + ind - 1, 44)).Borders.Weight = xlThin
Application.ScreenUpdating = True
End Sub
Действительно, все на самом деле легче чем я думал...
Спасибо Вам ОГРОМНОЕ.
А помогите мне пожалуйста ...
где можно по подробнее почитать как работает данный макрос, если конечно это вообще макрос....
Дело в том, что через n-ый промежуток времени мне необходимо будет менять саму структуру таблицы, т.е. сначала удалять какое то кол-во строк и столбцов потом наоборот добавлять...
хотелось бы разобраться как это все работает
Что бы я мог самостоятельно редактировать.
ссылка на пост откуда я взял документ приложенный выше
текст
2 Ноя 2011 12:42:47
Какая-то стрёмная задача... Могут быть всякие неожиданности.
Я бы собирал на общий лист только по особой нужде...
Но есть например такой вариант - тянем данные динамически при активации листа.
Так через массив (без форматов ячеек), а в файле - копированием диапазона:
Option Explicit
Const rrow = 4
Private Sub Worksheet_Activate()
Dim a(), sh As Worksheet, ind&
Application.ScreenUpdating = False
Range("a" & rrow & ":ar" & Cells(rrow, 1).End(xlDown).Row).Clear
For Each sh In Worksheets
With sh
If .Index <> ActiveSheet.Index Then
a = .Range("a" & rrow & ":ar" & .Cells(.Rows.Count, 1).End(xlUp).Row).Value
Cells(rrow + ind, 1).Resize(UBound(a), 44) = a
ind = ind + UBound(a)
End If
End With
Next
Range(Cells(rrow, 1), Cells(rrow + ind - 1, 44)).Borders.Weight = xlThin
Application.ScreenUpdating = True
End Sub