Loading
Excel.Tips.Net ExcelTips (Menu Interface)

Unique Name Entry, Take Two

Chris uses a data validation technique that successfully stops non-unique information from being entered in a column. (This technique was described in previous issues of ExcelTips.) He rightfully notes that there is still a problem with data validation, however: Someone can paste information into a cell and successfully bypass all the checks in place.

For instance, if you type "George" into cell A8, and then type "George" into A9, regular data validation will generate an error, as one would expect, indicating that the value you are trying to enter is not unique. However, if you type "George" into cell A8, copy that cell and paste it into cell A9, no data validation error is triggered--the paste is allowed.

There is no direct way around this in Excel. You can, however, cause Excel to do some checking whenever you try to do a paste. Consider the following macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    For Each TmpRng In Target
        TmpVal = TmpRng.Validation.Type
        If TmpVal > 0 Then
            If Application.CutCopyMode = 1 Then
                MsgBox "You cannot paste into validated cells."
                Application.CutCopyMode = False
                Exit Sub
            End If
        End If
    Next
End Sub

This macro is only run when the selection changes in a worksheet. (This code needs to be in the code window for a worksheet.) It examines the target cells (the ones being selected), and if the user is trying to paste into a cell that has validation active, it will not allow it. Further, the user will see a dialog box that indicates the error.

You should note that this routine just checks to see if pasting into a data-validated cell is being done. If it is, then an error is generated. The routine does not check to see if what is being pasted is actually permissible under the validation rules in the target cells; that would be much more complex and require quite a bit more coding.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2449) applies to Microsoft Excel 97, 2000, 2002, and 2003.

Related Tips:

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.