2016-09-07 2 views
1

Я хочу выполнить простой расчет в другой ячейке, основанной на ключевом слове в строке из другой ячейки. Например, столбец H может иметь описание в соответствии с «Покупка 50 000 акций». Я хочу, чтобы несколько столбцов B на -1, если появилось слово Purchase. Возможно ли построить условие с ключевым словом в строке?Excel VBA вычисляет одну ячейку на основе строки из другой

+0

В VBA? Вы можете использовать 'Like' или' Instr' для тестирования «покупки». –

+1

Возможная формула может быть '= IF (IFERROR (FIND (« Покупка », H1), 0)> 0, -1,1) * B1'. (Ой, просто заметил тег 'excel-vba', поэтому, я думаю, вы не после формулы.) – YowE3K

ответ

0

Вы можете сделать это в формуле или VBA.

В формуле, скажем, B1 имел содержание X до, изменить формулы = (X) * IF (ISNUMBER (SEARCH ("Покупка", H1)), -1, 1)

В VBA попробуйте это

Sub NegateB_IfPurchaseH() 
Dim celB As Range 
Dim celH As Range 
Dim celPtr As Range 

' you can change 1:10 to any other range 
Set celB = Range("B1:B10") 
Set celH = celB.Cells(1, 7) 

For Each celPtr In celB 
    If InStr(1, celPtr.Cells(1, 7).Value, "purchase", vbTextCompare) > 0 Then 
     celPtr.Formula = "=-" & Mid(celPtr.Formula, 2) 
    End If 
Next 
End Sub 
+0

В итоге я использовал формулу. Я не очень хорошо знаком с vba, и я не совсем понимаю, что происходит в инструкции For. Вам нужно пройти это медленнее и разобрать. Спасибо за помощь! – TomC

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