2017-01-19 9 views
1

おはよう!Excelステートメント論理的概念

私はいくつかは、以下の外観を持つように声明をエクセル作るしようとしているが:

if(A1=1 and B1=0) output would be A1=1 and B2=0 
if(A1=0 and B1=1) output would be A1=0 and B2=1 
if(A1=0 and B2=0) output is an error. 
if(A1=1 and B2=1) output is an error. 
if(A1="-"and B2="-") output would be A1="-" and B2="-". 

同じことが、すべてのセルのために行く:

Ticket

私は何をしようとしていると、そのですAとB.の提案?

+1

出力すると、メッセージボックスを意味しますか?または、セルの値を出力に変更したいですか? –

+0

@VBAPeteが尋ねている理由を知っているので、数式は自分自身を参照することはできません。 –

答えて

0

あなたは何がシートオブジェクトに列AまたはBに変更されたときにマクロを活性化し、次のコード、ポストが必要になります。、

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim x As Long 

    If Not Intersect(Target, Columns("A:B")) Is Nothing Then 
     Call Evaluatecells 
    End If 

End Sub 

そして基準についてあなたの細胞を評価し、以下のコードを、モジュール内に移動します:

Sub Evaluatecells() 

lastrow = ActiveSheet.UsedRange.Rows.Count 

For x = 2 To lastrow 
     If Cells(x, 1).Value = 0 And Cells(x, 2).Value = 0 Then 
      MsgBox ("Error - Values in A1 and B1 cannot be both 0.") 
      Exit For 
     ElseIf Cells(x, 1).Value = 1 And Cells(x, 2).Value = 1 Then 
      MsgBox ("Error - Values in A1 and B1 cannot be both 1.") 
      Exit For 
     End If 
    Next x 

End Sub 

ご不明な点がありましたら教えてください。

+0

概念は、ユーザーが0または1の値を入力すると、1つのセルのみで出力が1または0になり、両方ではないことが考えられます。 両方のセルに出力と出力があります。 1と1について誰かが両方のセル1を入力すると、そのセルに0だけが受け入れられるという警告が表示されます。 同じことが0になります。 ジムありがとうございました! – Jimmy84

+0

@ Jimmy84更新されたコードはあなたのために機能しましたか? –

関連する問題