別のセルが変更されたときに、セルを完了することを必須にするにはどうすればよいですか?

別のセルが変更されたときに、セルを完了することを必須にするにはどうすればよいですか?

セル L6 に「はい」または「いいえ」と表示されている場合、セル L7 と L8 を入力する必要があることを確認するメッセージ ボックスが表示されます。同様の投稿を見たのですが、私の状況では VBA コーディングが機能しませんでした。どなたか助けていただければ幸いです。ありがとうございます。

答え1

目標を達成するために、2つの方法を提案したいと思います。

方法 1、データ検証:

  • 状況1セルがまたはL6で入力されている場合。YesNo

ここに画像の説明を入力してください


  • 状況2L6セルがと のどちらでも満たされていYesない場合No

ここに画像の説明を入力してください


  • 状況3セルL6が の場合Blank

ここに画像の説明を入力してください


使い方:

  1. セルを選択L7&L8およびデータタブクリックデータ検証。
  2. セットカスタム検証基準として次の数式を入力します。

=NOT(ISBLANK($L$6))*(OR($L$6="Yes",$L$6="No"))

  1. 終了わかりました

方法2、VBA(マクロ):

  • 右クリックしてシートタブ& 打つコードを表示ポップアップメニューからVBエディターを取得します。
  • コピーペーストこの規約は標準モジュールシート付き。

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Not Intersect(Target, Range("L6")) Is Nothing Then
    
        If Target.Value = "Yes" Or Target.Value = "No" Then
            MsgBox "Now You Can fill L7 & L8"
        Range("L7").Activate
    
        ElseIf Target.Value <> "Yes" Or Target.Value <> "No" Then
            MsgBox "Target cell must have data Yes Or No,, to fill L7 & L8"
        Target.Activate
        End If
    
        If Target.Value = "" Then
        MsgBox "Target Cell Can't be Blank,,"
        Target.Activate
        End If
    End If
    
    End Sub
    

注意

  • このコードは、セルに入力するとすぐに応答を開始しますL6

  • 必要に応じて、数式内および VBA コード内のセル参照を調整できます。

関連情報