How to automate data validation setup for a new sheet using VBA?

Automating data validation in a new Excel sheet using VBA involves writing a macro that specifies the rules and criteria for validation. Here’s a step-by-step guide to achieve this:

Sub SetupDataValidation()

    ' Declare variables
    Dim ws As Worksheet
    Dim rng As Range
    
    ' Initialize worksheet and range
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = "ValidatedDataSheet" ' Name the new sheet

    ' Example 1: Set up data validation for a column (e.g., Column A) to allow only whole numbers
    Set rng = ws.Range("A:A")
    With rng.Validation
        .Delete ' Clear any existing validation
        .Add Type:=xlValidateWholeNumber, _
             AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, _
             Formula1:="1", _
             Formula2:="100"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Enter a number"
        .ErrorTitle = "Invalid Input"
        .InputMessage = "Please enter a whole number between 1 and 100."
        .ErrorMessage = "Only whole numbers between 1 and 100 are allowed."
    End With

    ' Example 2: Apply a list validation for a specific range (e.g., B1:B10)
    Set rng = ws.Range("B1:B10")
    With rng.Validation
        .Delete ' Clear any existing validation
        .Add Type:=xlValidateList, _
             AlertStyle:=xlValidAlertStop, _
             Operator:=xlEqual, _
             Formula1:="Yes,No,Maybe"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = "Select an option"
        .ErrorTitle = "Invalid Selection"
        .InputMessage = "Please select an option from the list."
        .ErrorMessage = "The selection is not from the list."
    End With
    
    MsgBox "Data validation setup complete for the new sheet."

End Sub
  • Open the VBA Editor: Press `Alt + F11` in Excel to open the VBA editor.
  • Insert a Module: Right-click on any of the items in the “Project Explorer” pane, go to `Insert`, and choose `Module`. This will create a new module where you can write your code.
  • Write the VBA Code: Below is an example of how you might set up data validation for a new sheet.

Explanation of the Code:

  • Sheet Creation: A new sheet is created and named “ValidatedDataSheet”.
  • Whole Number Validation: The entire Column A is set up to allow only whole numbers between 1 and 100.
  • List Validation: Cells B1 to B10 are set to accept only the values from a predefined list: Yes, No, Maybe.
  • Run the Macro: Save your VBA project, and then run the `SetupDataValidation` macro by pressing `F5` or by accessing the macro through the Excel interface (`Alt + F8`).
  • Adjust as Needed: Modify the column, range, or validation criteria as needed to fit your specific scenario.

This script provides a basic example and can be expanded to include additional validation rules or error messaging based on your needs.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project