Unique Name Entry, Take Two

by Allen Wyatt
(last updated May 28, 2013)

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.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Spreading Out a Table

If someone sends you a worksheet that has lots of data in it, you might want to "spread out" the data so you can have some ...

Discover More

Capitalizing the First Letter after a Colon

There are many rules in English grammar (and many exceptions to those rules.) One common rule of grammar is to capitalize the ...

Discover More

Getting Rid of Fragment Warnings

Word provides a wide variety of tools that ostensibly help make you a better writer. One of those tools is the grammar ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

MORE EXCELTIPS (MENU)

Can't Copy Data between Workbooks

Edit a group of workbooks at the same time and you probably will find yourself trying to copy information from one of those ...

Discover More

Quickly Entering Data

Excel includes a handy shortcut for entering data that is similar to whatever you entered in the cell above your entry point. ...

Discover More

Changes in Font Size when Copying

Have you ever copied information from one worksheet to another, only to have the information you paste not look the way you ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

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!)

This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.

Links and Sharing
Share