Excel VBA根据另一个

时间:2016-09-07 02:19:27

标签: excel-vba vba excel

我想根据来自不同单元格的字符串中的关键字对另一个单元格执行简单计算。例如,列H可能具有“购买50,000股”的描述。如果单词Purchase出现,我希望将B列多个-1。是否可以从字符串中的关键字构建条件?

1 个答案:

答案 0 :(得分:0)

您可以在公式或VBA中执行此操作。

在公式中,假设B1之前有内容X,则更改为公式 =(X)* IF(ISNUMBER(搜索("购买",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