Страница 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 И вообще сама задача тоже какая-то подозрительная