Новости:

Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин

Главное меню

Формат время

Автор telesh, 30.08.2017, 06:25:26

« назад - далее »

telesh

И так мы имеем в  одной колонке(H) время в формате "h:mm", к этому времени надо добавить две минуты, при условии что в колонке G текст "на ходу". Я сделал макрос но он неработает, что не так
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For I = 1 To 100
   If (Range("G" & 2 + I) = "на ходу") Then
    Range("E" & 2 + I) = Range("H" & 2 + I) + NumberFormat(0:02,"h:mm")
      End If
  Next
End Sub


[admin]Коды оформляйте тегами VBCode. п.п. 4.25 Правил форума[/admin]

Дмитрий Щербаков(The_Prist)

#1
1. NumberFormat(0:02,"h:mm") - откуда такое взяли? VBA не знает такой функции. Вероятно, делалось наугад по аналогии с присвоением формата ячеек. Для этого есть просто Format, но путь в любом случае неверный, т.к. эти функции возвращают текст. А текст нельзя складывать/вычитать и т.д.
Правильно для получения временных величин использовать спец.функции:
Range("E" & 2 + I) = Range("H" & 2 + I) + TimeValue("00:02:00")
или
Range("E" & 2 + I) = Range("H" & 2 + I) + TimeSerial(0,2,0)

2. Когда пишите "не работает" - пишите, что именно не так: ошибка, результат не тот, еще что-то. Здесь нет экстрасенсов, чтобы точно угадать что там у Вас "не работает". Поэтому проблему описывайте более подробно. Т.к. даже сейчас - в коде используются неверные функции, но...Вдруг еще и событие неверно выбрано? Вдруг надо не на событие выделения ячеек все это делать?

P.S. Коды оформляйте тегами.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

kuklp

kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728

китин


telesh

Да забыл оформить теги. А за ответ спасибо, вы очень помогли

Яндекс.Метрика Рейтинг@Mail.ru