2016-09-07 10 views
1

別のセルの文字列のキーワードに基づいて、別のセルで簡単な計算を実行します。例えば、列Hは、「50,000株の購入」の行に沿った記述を有することができる。購入という単語が表示されたら、複数の列Bに-1を入力します。文字列内のキーワードの条件を作成することは可能ですか?Excel VBAは、別のセルの文字列に基づいて1つのセルを計算します。

+0

VBAでは? 'Like'や' Instr'を使うことができます。 –

+1

可能な公式は、= IF(IFERROR(FIND( "Purchase"、H1)、0)> 0、-1,1)* B1'である可能性があります。 (Oops、ちょうど 'excel-vba'タグに気づいたので、あなたは式の後ではないと思う) – YowE3K

答えて

0

数式またはVBAで実行できます。式

、VBAでIF(ISNUMBER(SEARCH( "購入"、H1))、-1、1)

* B1は、あなたが式 =(X)に変更し、前にコンテンツXを持っていたと言います、これを試してください

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

関連する問題