2014-09-01 2 views
0

У меня есть таблица, когда столбец K содержит тип политики с использованием короткого кода.Как я могу сделать процентный расчет на основе значения ячейки?

Если этот короткий код является NET94, мне нужно, чтобы это было изменено на NOPL95, а также для ячейки в столбце AC, которая должна быть равна 95% от значения в столбце AA.

Я уже создал макрос, который полностью очищает ячейки, и я хочу добавить это в цикл.

Код, который я пытаюсь, кажется, не работает, и я не могу найти что-либо в Интернете, которое соответствует этому.

Firstrow = .UsedRange.Cells(1).Row 
    Lastrow = .UsedRange.Rows(.UsedRange.Rows.Count).Row 


    For Lrow = Lastrow To Firstrow Step -1 

'Amend Net94 & NET03H to NOPL95 
    With .Cells(Lrow, "AC") 
    If Not IsError(.Value) Then 
    If .Value = "NET94" Or .Value = "NET03H" Then .Value = "NOPL95" And .Cells(Lrow, "AC").Value = .Cells(Lrow, "AA") * 95/100 

ответ

2

Это not what And is for. Если вы хотите больше, чем одно место, когда данное условие выполняется, то вам нужно поставить каждый из тех вещей, на отдельной строке, и оканчиваются блок с End If, как это:

If .Value = "NET94" Or .Value = "NET03H" Then 
     .Value = "NOPL95" 
     .Cells(Lrow, "AC").Value = .Cells(Lrow, "AA") * 95/100 
    End If 

См documentation for If...Then...Else.

+0

Это действительно так, но когда я пытаюсь применить это на практике, он, кажется, игнорирует оператор IF и просто применяет .value = "NOPL95" ко всем ячейкам – Flaunting

+0

Вы пробовали отлаживать, как указано здесь: http: // www .cpearson.com/Excel/DebuggingVBA.aspx –

Смежные вопросы