Wie kann man das Ausfüllen einer Zelle obligatorisch machen, wenn sich eine andere Zelle geändert hat?

Wie kann man das Ausfüllen einer Zelle obligatorisch machen, wenn sich eine andere Zelle geändert hat?

Wenn Zelle L6 „Ja“ oder „Nein“ anzeigt, wird ein Meldungsfeld angezeigt, in dem Sie bestätigen müssen, dass die Zellen L7 und L8 ausgefüllt werden müssen. Ich habe einen ähnlichen Beitrag gesehen, aber ich konnte die VBA-Codierung in meiner Situation nicht zum Laufen bringen. Für jede Hilfe wäre ich dankbar, danke.

Antwort1

Um das Ziel zu erreichen, möchte ich zwei mögliche Methoden vorschlagen.

Methode 1, Datenvalidierung:

  • Situation 1, wenn die Zelle entweder mit oder L6ausgefüllt ist .YesNo

Bildbeschreibung hier eingeben


  • Situation 2, wenn die Zelle weder mit noch L6ausgefüllt ist .YesNo

Bildbeschreibung hier eingeben


  • Situation 3, wenn Zelle L6ist Blank.

Bildbeschreibung hier eingeben


Wie es funktioniert:

  1. Wählen Sie Zellen L7& L8und ausRegisterkarte „Daten“klickenDatenvalidierung.
  2. SatzBrauchals Validierungskriterium und geben Sie diese Formel ein.

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

  1. Enden mitOK

Methode 2, VBA (Makro):

  • Klicken Sie mit der rechten Maustaste aufRegisterkarte „Tabelle“& SchlagCode anzeigenaus dem eingeblendeten Menü, um den VB-Editor zu erhalten.
  • Kopieren Einfügendieser Kodex alsStandardmodulmit dem Blatt.

    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
    

Achtung

  • Dieser Code wird reagieren, sobald Sie die Zelle ausfüllen L6.

  • Sie können Zellbezüge sowohl in der Formel als auch im VBA-Code nach Bedarf anpassen.

verwandte Informationen