當另一個儲存格發生變更時,如何使一個儲存格強製完成?

當另一個儲存格發生變更時,如何使一個儲存格強製完成?

如果儲存格 L6 顯示“是”或“否”,則會出現一個訊息框,確認儲存格 L7 和 L8 必須完成。我看到了類似的帖子,但我無法讓 VBA 編碼適合我的情況。任何幫助將不勝感激,謝謝。

答案1

為了實現這一目標,我想建議兩種可能的方法。

方法一、資料驗證:

  • 情況1,當單元格L6充滿Yes或 時No

在此輸入影像描述


  • 情況2,當 Cell中既沒有也沒有L6填充時。YesNo

在此輸入影像描述


  • 情況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
    

注意

  • 一旦您填充 Cell ,此程式碼就會開始回應L6

  • 您可以根據需要調整公式以及 VBA 程式碼中的儲存格引用。

相關內容