Доброго времени суток! Возник такой вопрос, при написании макроса по автоматическому определению времени суток. (Существует необходимость показать, что с ноля часов до шести утра ночь, остальное время соответственно день.) Для этого в VBA пробовал использовать формул ЕКСЕЛЬ , однако натолкнулся на проблему. Потому решил обратится за помощью к более продвинутым пользователям. В разных файлах разное количество строк. Возможно прописать в макросе VBA чтобы формула считала автоматически все не пустые ячейки в столбце. Или возможно как-то по-другому решить эту проблему при помощи макроса VBA.
Большое спасибо за помощь!!!
Доброго времени суток! Возник такой вопрос, при написании макроса по автоматическому определению времени суток. (Существует необходимость показать, что с ноля часов до шести утра ночь, остальное время соответственно день.) Для этого в VBA пробовал использовать формул ЕКСЕЛЬ , однако натолкнулся на проблему. Потому решил обратится за помощью к более продвинутым пользователям. В разных файлах разное количество строк. Возможно прописать в макросе VBA чтобы формула считала автоматически все не пустые ячейки в столбце. Или возможно как-то по-другому решить эту проблему при помощи макроса VBA.
Sub ertert() Dim x, i& With Range("A1", Cells(Rows.Count, 1).End(xlUp)) x = .Value For i = 2 To UBound(x) If Hour(x(i, 1)) > 6 Then x(i, 1) = "ДЕНЬ" Else x(i, 1) = "НОЧЬ" Next i .Offset(, 1).Value = x End With End Sub
[/vba]
cekist, привет попробуйте так [vba]
Код
Sub ertert() Dim x, i& With Range("A1", Cells(Rows.Count, 1).End(xlUp)) x = .Value For i = 2 To UBound(x) If Hour(x(i, 1)) > 6 Then x(i, 1) = "ДЕНЬ" Else x(i, 1) = "НОЧЬ" Next i .Offset(, 1).Value = x End With End Sub
Sub www() Dim r As Range Set r = Range("a2:a" & [a55536].End(xlUp).Row) r.Offset(, 1) = Evaluate("IF(MOD(" & r.Address & ",1)>0.25,""День"",""Ночь"")") End Sub
[/vba]
[vba]
Код
Sub www() Dim r As Range Set r = Range("a2:a" & [a55536].End(xlUp).Row) r.Offset(, 1) = Evaluate("IF(MOD(" & r.Address & ",1)>0.25,""День"",""Ночь"")") End Sub