In diesem Artikel verwenden wir das Auswahländerungsereignis des Arbeitsblatts, um eine Validierungsliste zu erstellen, wobei leere Werte ignoriert werden.

Die Rohdaten bestehen aus dem Produktnamen und einigen leeren Zellen in Spalte A.

ArrowMain

Wir möchten eine Validierungsliste für den Produktnamen erstellen und dabei leere Zellen ignorieren.

ArrowRawData

Logische Erklärung

In diesem Artikel haben wir das Auswahländerungsereignis des Arbeitsblatts verwendet, um eine Validierung in Zelle I12 zu erstellen. Zunächst erstellen wir eine Zeichenfolge, die alle durch Kommas getrennten Produktnamen enthält und leere Zellen ignoriert. Dann fügen wir diese Zeichenfolge zur Zellvalidierung hinzu.

Code Erklärung

IntLastRow = .Cells (Rows.Count, 1) .End (xlUp) .Row Der obige Code wird verwendet, um die Zeilennummer der letzten Zelle abzurufen.

Wenn nicht leer (.Cells (IntRow, 1)), dann ‚Verketten von nicht leeren Werten in der ersten Spalte Txt = Txt & .Cells (IntRow, 1) & „,“

Ende Wenn Der obige Code zum Erstellen einer Zeichenfolge von Produktnamen verwendet wird, wobei leere Zellen ignoriert werden.

Mit Bereich („I12“). Validierung ‚Löschen einer vorherigen Validierung aus der Zelle. Löschen‘ Hinzufügen der Validierung .Add _ Type: = xlValidateList, _ AlertStyle: = xlValidAlertStop, _ Operator: = xlBetween, _ Formula1: = Txt End With Der obige Code wird verwendet, um der Zelle I12 eine Validierung zuzuweisen.

Bitte folgen Sie unten für den Code

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Declaring variables

Dim IntRow As Integer, IntLastRow As Integer

Dim Txt As String

With Worksheets("Main")



'Finding the row number of last cell

IntLastRow = .Cells(Rows.Count, 1).End(xlUp).Row



'Looping from 10th row to Last row

For IntRow = 10 To IntLastRow



'Creating text for validation list

If Not IsEmpty(.Cells(IntRow, 1)) Then



'Concatening non blank values in the first column

Txt = Txt & .Cells(IntRow, 1) & ","

End If

Next IntRow

End With

Txt = Left(Txt, Len(Txt) - 1)

'Adding validation to cell I12

With Range("I12").Validation

'Deleting any previous validation from the cell

.Delete

'Adding the validation

.Add _

Type:=xlValidateList, _

AlertStyle:=xlValidAlertStop, _

Operator:=xlBetween, _

Formula1:=Txt

End With

End Sub

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]