Страница 1 из 1

Захват данных и создание истории в Exel

Добавлено: 06 дек 2007, 13:12
skoroteev
Уважаемые специалисты,

Как вы знаете, в Exel существует импорт данных (в моем случае из Интернета). То есть, это представляет собой одну строку с динамически изменяющимися данными в каждой ячейке.

Вопрос: Каким образом можно "захватывать" данные в каждой из ячеек динамической области и фиксировать их в виде массива в Exel, чтобы каждое новое изменение отображалось (фиксировалось) в соответствующей ячейке строкой ниже? Другими словами, чтобы получалась история изменений.

Сергей

Re: Захват данных и создание истории в Exel

Добавлено: 06 дек 2007, 21:20
packer
skoroteev писал(а):Уважаемые специалисты,

Как вы знаете, в Exel существует импорт данных (в моем случае из Интернета). То есть, это представляет собой одну строку с динамически изменяющимися данными в каждой ячейке.

Вопрос: Каким образом можно "захватывать" данные в каждой из ячеек динамической области и фиксировать их в виде массива в Exel, чтобы каждое новое изменение отображалось (фиксировалось) в соответствующей ячейке строкой ниже? Другими словами, чтобы получалась история изменений.

Сергей
Наверное, нужно смотреть в сторону обработки события Change (Значение ячейки рабочего листа изменено пользователем или внешней ссылкой) рабочего листа, на кот-м расположена динамическая строка.

Код: Выделить всё

Public MyRange as Range
Private Sub Worksheet_Change (ByVal Target As Excel.Range)
'тут определили диапазон MyRange, в кот-м отслеживаете изменения, например
Set MyRange=Range("A1:E1")
If Not Intersect(Target, MyRange) Is Nothing Then _
 Call MakePhoto 'Если изменена ячейка в интересующем нас диапазоне, то вызываем процедуру "моментального фото"
End Sub

Sub MakePhoto()
Dim DestinationCell As Range
Dim rwcount As Long
rwcount = Range("A1").CurrentRegion.Rows.Count
Set DestinationCell = Range(Cells(rwcount + 1, 1), Cells(rwcount + 1, 1))
 MyRange.Copy _
    Destination:=DestinationCell

End Sub
Подразумевается, что все дела делаются с 1-м и темже листом книги, кот-й является активным.
PS Код кривой - ничего своего подобного готового под рукой нету
PPS И вообще сама задача тоже какая-то подозрительная