Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6616 / 13644 ツリー ←次へ | 前へ→

【44167】数字の並び順に条件をつけたいのですが・・・。その2 VBA修行中 06/11/7(火) 9:16 質問[未読]
【44174】Re:数字の並び順に条件をつけたいのですが... Jaka 06/11/7(火) 11:45 発言[未読]
【44196】Re:数字の並び順に条件をつけたいのですが... VBA修行中 06/11/8(水) 9:14 お礼[未読]

【44167】数字の並び順に条件をつけたいのですが・...
質問  VBA修行中  - 06/11/7(火) 9:16 -

引用なし
パスワード
   前回投稿させていただきました。
前回とは少し違うのですが・・・・。

セルのA1からI8までの範囲で、

  A  B  C  D  E  F  G  H  I
1 1  2  2  2      1  1
2 2  2      1  1  1  1  1


上記のように数字を並べて数字の"2"の一つ右と二つ右のセルに"1"を入れるのを禁止という条件のコードを作りたいのですが、どうすればよいでしょうか?

【44174】Re:数字の並び順に条件をつけたいのです...
発言  Jaka  - 06/11/7(火) 11:45 -

引用なし
パスワード
   1が先に入っていた場合の事は考えてません。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Value = "1" Then
    If Target.Column - 1 > 0 Then
     If Target.Offset(, -1).Value = "2" Then
       Application.EnableEvents = False
       Target.Value = ""
       Application.EnableEvents = True
     End If
    End If
    If Target.Column - 2 > 0 Then
     If Target.Offset(, -2).Value = "2" Then
       Application.EnableEvents = False
       Target.Value = ""
       Application.EnableEvents = True
     End If
    End If
  End If
End Sub

【44196】Re:数字の並び順に条件をつけたいのです...
お礼  VBA修行中  - 06/11/8(水) 9:14 -

引用なし
パスワード
   ▼Jaka さん:
>1が先に入っていた場合の事は考えてません。
>
>Private Sub Worksheet_Change(ByVal Target As Range)
>  If Target.Value = "1" Then
>    If Target.Column - 1 > 0 Then
>     If Target.Offset(, -1).Value = "2" Then
>       Application.EnableEvents = False
>       Target.Value = ""
>       Application.EnableEvents = True
>     End If
>    End If
>    If Target.Column - 2 > 0 Then
>     If Target.Offset(, -2).Value = "2" Then
>       Application.EnableEvents = False
>       Target.Value = ""
>       Application.EnableEvents = True
>     End If
>    End If
>  End If
>End Sub

お忙しい中ありがとうございます。
さっそく使わせていただきます。

6616 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free