Я немного знаю VBA, но я всегда ищу более разумные способы (как вы, люди, работаете !!).
Вот что я пытаюсь сделать.Мне приходится иметь дело с некоторыми данными, которые имеют
Год |Месяц |День |Час |Минута |Данные1 |Data2 .... |ДанныеN
каждый в отдельном столбце и имеет тысячи строк.Количество столбцов «Данные» определяется пользователем во время выполнения (не менее 1 и не более 100).Данные могут иметь любой временной шаг, например, каждую минуту, 5 минут, 10 минут, каждый час, ежедневно и так далее.Затем пользователь указывает интервал выходных данных, который всегда будет больше, чем интервал входных данных.
Итак, этот макрос должен записывать данные в интервале, указанном пользователем.Данные в каждом столбце между выходными временными шагами должны быть добавлены вместе.См. Следующие две таблицы:
Входные данные:
Yr Mth Day Hr Min Data_1 Data_2
2010 2 7 8 0 1.01 2.01
2010 2 7 8 5 1.02 2.02
2010 2 7 8 10 1.03 2.03
2010 2 7 8 15 1.04 2.04
2010 2 7 8 20 1.05 2.05
2010 2 7 8 25 1.06 2.06
2010 2 7 8 30 1.07 2.07
2010 2 7 8 35 1.08 2.08
2010 2 7 8 40 1.09 2.09
2010 2 7 8 45 1.10 2.10
2010 2 7 8 50 1.11 2.11
2010 2 7 8 55 1.12 2.12
2010 2 7 9 0 1.13 2.13
2010 2 7 9 5 1.14 2.14
Выходные данные:
Yr Mth Day Hr Min Data_1 Data_2
2010 2 7 8 0 1.01 2.01
2010 2 7 8 15 3.09 6.09
2010 2 7 8 30 3.18 6.18
2010 2 7 8 45 3.27 6.27
2010 2 7 9 0 3.36 6.36
Таким образом, входные данные каждые 5 минут, а выходные данные должны быть каждые15 минутКаждая строка данных между последовательными 15-минутными интервалами должна быть добавлена вместе.
У меня есть эта штука, работающая, поскольку я использую два цикла, проходящих по горизонтали и вертикали и записывающих значения в электронную таблицу на каждом шаге.Но это действительно медленно.
Любая помощь в ускорении этого процесса будет принята с благодарностью.
Заранее спасибо
-MP
** Код, который я использовал для записи обработанных данных в текстовый файл:
Open FName For Output Access Write As #FNum
For RowNdx = StartRow To endrow
done = Int((RowNdx / endrow) * 100)
Application.StatusBar = "Exporting *.gag file... (" & done & " % done )"
WholeLine = ""
For colNdx = StartCol To Endcol
If Sheets("Output").Cells(RowNdx, colNdx).Text = "" Then
CellValue = ""
Else
CellValue = Sheets("Output").Cells(RowNdx, colNdx).Text
End If
WholeLine = WholeLine & CellValue & sep
Next colNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(sep))
Print #FNum, WholeLine
Next RowNdx
Close #FNum
Можно ли записать диапазон в текстовый файл одновременно.Я пытаюсь избежать зацикливания.
Спасибо за вашу помощь
MPD