• 締切済み

エクセルのコード表示について・・・

(1) If Target.Column <> 4 Then Exit Sub Target.Offset(0, -2) = "1" (2) If Target.Column <> 35 Then Exit Sub Target.Offset(0, -2) = "2" (1)、(2)のコードを入力したのですが、セルには1としか表示されません。。 (2)の方を優先したい時は、どうすればいいのでしょうか???

みんなの回答

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

>コピーして使用したのですが、 >エラーを起こしてしまいます。。何故でしょうか?? >他のコードと一緒に使用しているからなのでしょう?? No.2の回答は、見やすく、判りやすくする為、コードの行頭の段落空けに全角スペースが使われてます。 何も考えずにコピペすると、行頭の全角スペースがエラーになります。 コピペしたら↓の「□」の位置にある全角スペースを取り除きましょう。 If Target.Column = 4 Then □Target.Offset(0, -2) = "1" Else □If Target.Column = 35 Then □□Target.Offset(0, -2) = "2" □End If End If

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

このコードでは変更されたのがD列以外の時はExit Subで処理を抜けますから、(2)のロジックは実行されません。 以下のようにIf文の入れ子にするか、Select Case文を使用されたら良いと思います。 If Target.Column = 4 Then  Target.Offset(0, -2) = "1" Else  If Target.Column = 35 Then   Target.Offset(0, -2) = "2"  End If End If

qtjgh105
質問者

補足

コピーして使用したのですが、 エラーを起こしてしまいます。。何故でしょうか?? 他のコードと一緒に使用しているからなのでしょう??

  • Ce_faci
  • ベストアンサー率36% (46/127)
回答No.1

こんにちわ もっとも単純な方法として (2)、(1)の順番にするのはどうでしょう。

関連するQ&A