Помогите с макросом, плиз!

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
faiza
Сообщения: 2
Зарегистрирован: 02 дек 2009, 09:38

В файле, на 3м листе нужно проверять значение в столбце G. Если значения больше 200, то значение нужно округлить (допустим если число 201,23 то должно быть =2,0) и в ячейку вставить "в 2,0 раз" и так со всем столбцом G.
Пожалуста напишите весь код на VBA, от начала до конца, а то я совсем не понимаю. Заранее спасибо большое)))
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

и в ячейку вставить...
В какую ячейку?
Если значения больше 200, то...
а если меньше?
если число 201,23 то должно быть =2,0
А если число 207,12 то должно быть "в 2,1 раз", или как?
faiza
Сообщения: 2
Зарегистрирован: 02 дек 2009, 09:38

Работаем только с диапозоном G5:G14. Здесь в ячейке G5 формулa B5/F5*100, в G6 формула B6/F6*100... в G14 соответсвенно B14/F14*100. Берём G5, проверяем. Если значение которое получилось по формуле B5/F5*100 больше 200, то округляем (вы правильно поняли как округляем) и вставляем в ячейку G5 "в ? р". Если же значение которое получилось по формуле B5/F5*100 меньше 200, то его в ячейку G5 вставляем. И так до G14.
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

Например, так:

Код: Выделить всё

Sub Main()
    Dim cell As Range: Application.ScreenUpdating = False
    For Each cell In [G5:G14]
        If cell > 200 Then cell = "в " & Round(cell / 100, 1) & " раз"
    Next
End Sub
Но формула в ячейке исчезнет. Если это не допустимо - доработайте Ваши формулы, используя "если" и VBA не нужен.
Ответить