Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 14:49   #21
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Валер, да не стоит замерять время. На одном проходе выиграно будет 0 целых х. десятых. Это моя привычка из далеких 90-х оптимизировать код. на 2-386м процессорах нужно было убирать любые тормоза. Просто, приведенный мной код правильней, красивей и (повторяюсь) технологичней замененного. Ну если уж приспичило проверить - перед циклом(гото или до) ставь:
t= timer
for g= 1 to 10000
Цикл(тот цикл, к-рый хронометрируешь)
next
msgbox timer-t
А еще, желательно включить монитор типа ProcessLasso, чтоб видеть загрузку процессора и памяти.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 10.01.2011, 20:42   #22
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Валер, да не стоит замерять время.
Ты прав, не стоит и так видно, что работает на-амного быстрее.
Спасибо.
valerij вне форума Ответить с цитированием
Старый 11.01.2011, 18:25   #23
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Валер, это совсем просто:
t=timer
dm = Date + (Day(Date) = 1)
for i=1 to 10000
Do While Sheets(Month(dm)).Cells(3, (Day(dm) - vv) * 2) = ""
vv = vv + 1
Loop
Sheets(Month(dm)).Range(Sheets(Mont h(dm)).Cells(3, (Day(dm) - vv) * 2 - 1), Sheets(Month(dm)).Cells(35, (Day(dm) - vv) * 2)).Copy _
Sheets(Month(Date)).Cells(3, Day(Date) * 2 - 1)
next
msgbox timer - t
Ну и свой цикл с Гото между t=timer и msgbox timer - t помести. Только не забудь его 10000 раз выполнить:-)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 11.01.2011 в 18:30.
kuklp вне форума Ответить с цитированием
Старый 11.01.2011, 18:57   #24
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Валер, это совсем просто
Ок, попробую.
Тут у меня, маленько опять, загвоздка.
Надо, если в колонках (Day(Date) *2), встретится слово гараж, оно, слово, должно стать, синим, а слово ремонт, красным.
Нифига не получается, а че? Не хотелось через усл. формат., видимо придется(Так и сделал).
Код:
If Columns(Day(Date) * 2) = "гараж" Then
    With Selection.Font
        .Name = "Arial Cyr"
        .Size = 12
    End With
    Selection.Font.Bold = True
    Selection.Font.ColorIndex = 5
End If

Последний раз редактировалось valerij; 12.01.2011 в 07:16.
valerij вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копировать данные при чтении Doctordradd Общие вопросы Delphi 0 02.11.2010 18:43
В ячейке проставить название предыдущего месяца kzld Microsoft Office Excel 6 08.10.2010 11:30
копировать данные из файлов с изменяющимся именем Татьяна_45 Microsoft Office Excel 7 24.06.2010 17:26
Копировать данные из предыдущей строки Viktor_Kotov Помощь студентам 4 14.04.2010 18:00
Копировать данные из Excell в Word Dimon_isu Microsoft Office Excel 3 15.05.2008 12:12