Как стать трейдером? Форум Деньги

Форум 
Так будет красивше..
Пользователь: John (IP-адрес скрыт)
Дата: 08.01.2008 16:41

Public Sub Obnowlenie()
If Range("E22") <> 1 Then Exit Sub ' Выполняем, если обновление разрешено

' Не нужно изменять свойство Caption приложения,
' потому что может возникнуть ситуация открытия файла одновременно
Range("D22").Value = Now()

'*****************
Rows("2:2").Select
Selection.Copy
Rows("25:25").Select
Selection.Insert Shift:=xlDown
'********************

'Устанавливаем время следующего запуска этой процедуры
Application.OnTime Now + TimeValue("00:00:05"), "Obnowlenie"
End Sub

Относительно текста внутри строк со звёздочками.
Эти операторы используют системный буфер для запоминания, что может привести:
1. К регулярной потере информации в буфере, когда вы работаете с другим приложением потому что Selection.Insert освобождает буфер;
2. К возможности того, что в буфере перед выполнением Selection.Insert Shift:=xlDown окажется совсем не то содержимое, которое было туда записано оператором Selection.Copy

Поэтому явно перепишите в цикле каждую ячейку из строки 2 в строку 25. Примерно так
Range("A2").Select
for i=0 to 9
ActiveSell.Offset(23,i).Value=ActiveSell.Offset(0,i).Value
Next i

Перейти: <>
Опции: ОтветитьЦитировать


Тема Написано Просмотров Дата
  Написал макрос. Нельзя сделать это проще? sssruslan 627 07.01.2008 22:16
  Re: Написал макрос. Нельзя сделать это проще? semyonov 287 07.01.2008 23:12
  Спасибо! Придумал еще 1 вариант sssruslan 275 08.01.2008 12:19
  "Торможение" происходит из-за.. John 307 08.01.2008 14:41
  Готово! Спасибо за подсказки! sssruslan 257 08.01.2008 15:58
  Так будет красивше.. John 343 08.01.2008 16:41
  мелкие штришки... (+) К. Белибердин 262 09.01.2008 02:50
  тьфу, хотел сказать select не нужен uu... а вместо буфера лучше действительно явно прописать переход значений из ячейки в ячейку...(-) К. Белибердин 199 09.01.2008 02:58
  Всё понял sssruslan 245 08.01.2008 19:12


Как стать трейдером? Форум создан Инфо с Phorum.

Rambler's Top100