Так будет красивше..
Пользователь:
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