2016-09-02 8 views
-1

私は列Jのセルの値をチェックするマクロを持っています。値に基づいて、次のコードを使用する列KとLのセルを設定する必要があります。2つのアクションを持つIF IF THEN

For Each Cell In TelRange 
    With Cell 
    If Left(.Value, 3) = 201 Then 
     Cell.Offset(0, 1).Value = "Mobile" And Cell.Offset(0, 2).Value = Left(Value, 5) 
    End If 
    End With 
Next Cell 

これは機能しません。

誰かがこれを行う方法を知っていますか?

+1

「機能しません」は役に立ちません。コードがエラーを返しますか?あなたがしたくないことをしていますか?あなたがやりたいことをしませんか?詳細をお知らせください。 – MJH

+0

ANDは、2つの値を比較する論理的な命令であり、2つのことを行う方法ではありません。 –

答えて

6

1アクションでは動作しますが、2では正しく動作しないような質問から、それが動作しない場合

For Each Cell In TelRange 
    With Cell 
    If Left(Value, 3) = 201 Then 
     Cell.Offset(0, 1).Value = "Mobile" 
     Cell.Offset(0, 2).Value = Left(Value, 5) 
    End If 
    End With 
Next Cell 

二行にそれを試してみてくださいspliting(AND論理演算のために使用され、AとBの場合のように)、何が起こっているかと言うてください。エラーメッセージ?更新されませんか?

+1

'Left(Value、3)'と 'Left(Value、5)'に '.'がないことを指摘したいだけでなく、' With Cell'を使用している場合は、 'Cell.Offset '' If''の中で単純に ''Offset''を実行します。後者が結果に何らかの相違を引き起こすわけではないが、むしろ「With Cell」をより有意義にするであろう –