Controlling Data Entry in a Cell

by Allen Wyatt
(last updated July 16, 2016)

4

Murray needs a way to control the entry of data into cell B1. If cell A1 contains the capital letter "A," then the user should be able to enter data into cell B1. If cell A1 contains anything but the capital letter "A," then no data entry should be allowed in cell B1 and cell B1 should show "N/A" (not the error value #N/A, but the letters "N/A").

There are two ways to go about this. One way is to use a macro that checks to see if A1 contains "A" or not. If it does, then the macro keeps whatever is in cell B1, unless B1 had previously been set to "N/A." (If it had, then B1 is cleared.) If A1 does not contain "A," then whatever is in cell B1 is replaced with the characters "N/A."

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim sTemp As String

    If Target.Address(False, False) = "A1" Or _
      Target.Address(False, False_ = "B1" Then

        'Store B1's text in variable
        sTemp = Range("B1").Text

        Application.EnableEvents = False
        If Range("A1").Text = "A" Then
            If sTemp = "N/A" Then Range("B1") = ""
        Else
            Range("B1") = "N/A"
        End If
        Application.EnableEvents = True
    End If
End Sub

Note that this is simply one macro-based approach; there are many other approaches that could be used, depending on what behavior you want to have take place if either cell A1 or B1 are selected. In the case of this macro, it should be saved in the ThisWorkbook module so that it triggers whenever something is changed in the worksheet.

The other approach you can use doesn't involve macros at all. Instead, it relies on conditional formatting. Follow these steps:

  1. Select cell B1.
  2. With the Home tab of the ribbon displayed, click the Conditional Formatting option in the Styles group. Excel displays a palette of options related to conditional formatting.
  3. Click Manage Rules. Excel displays the Conditional Formatting Rules Manager dialog box.
  4. Click New Rule. Excel displays the New Formatting Rule dialog box.
  5. In the Select a Rule Type area at the top of the dialog box, choose Use a Formula to Determine Which Cells to Format. (In Excel 2013 and Excel 2016, click on New Rule and then select Use a Formula to Determine Which Cells to Format.) (See Figure 1.)
  6. Figure 1. The New Formatting Rule dialog box.

  7. In the Format Values Where This Formula Is True box, enter the following: =NOT(EXACT(LEFT(A1,1),"A")). This formula will return True if the cell contains do not contain the letter "A" as the first letter of the cell.
  8. Click Format to display the Format Cells dialog box.
  9. In the Category list, choose Custom.
  10. In the Type box, enter this: "N/A";"N/A";"N/A";"N/A" (make sure you include the quote marks, as shown).
  11. Click OK to dismiss the Format Cells dialog box. The formatting you specified in step 7 should now appear in the preview area for the rule.
  12. Click OK. The New Formatting Rule dialog box disappears and Excel again displays the Conditional Formatting Rules Manager dialog box. The rule you just defined is listed in the dialog box.
  13. Click OK. Excel applies the conditional formatting to cell B1.

The custom format you defined in step 9 causes Excel to display the letters "N/A" when the value is a number (positive, negative, or zero) or text. Since you set all 4 conditions to the same thing, then all of them will display "N/A." This approach changes the display, but it still allows the user to enter a value into cell B1—it just won't display properly unless the first letter in cell A1 is "A."

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (13457) applies to Microsoft Excel 2007, 2010, 2013, and 2016.

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

DOS From Macros

Need to run a DOS command from within one of your macros? The answer is the Shell command, described in this tip.

Discover More

Inserting Hyperlinks

Connect your worksheets with other workbooks or with the world of the Internet. The ability to add hyperlinks makes this ...

Discover More

Searching for Special Characters

When using the Find and Replace feature of Word, you can search for more than plain text. You can also search for characters ...

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (ribbon)

Conditionally Making a Sound

Need to have a sound played if a certain condition is met? It is rather easy to do if you use a user-defined function to ...

Discover More

Highlighting Values that are 10x a Baseline Value

Sometimes the hardest part of getting your conditional formatting rules to work properly is figuring out the proper way to ...

Discover More

Protecting Your Conditional Formatting Rules

If you have conditional formatting applied in a worksheet, the formulas in those formats may not be as secure as you would ...

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

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 8Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 6 - 3?

2016-07-18 04:18:20

greenbottle

Using the conditional formatting approach, if the text in A1 is a word that begins with A then the text in B1 will be displayed rather than "N/A".

If you want the text in B1 to be displayed only when the text in A1 is specifically the letter A, rather than any word that starts with A, then the formula should be simplified to =NOT(EXACT(A1,"A")).


2016-07-17 19:29:56

Truly Gone

In the Windows version of Excel it is under Format Cells > Number > Custom and then under the word "Type:" you will see a box with the word "General". Replace "General with the "N/A" stuff in the tip.

That being said, I can't get the N/A to display as a conditional format. So I used the suggested helper column to evaluate column A and let me know if it is ok to enter in column B. Much easier.


2016-07-17 05:57:44

Stephen Argent

Where is the "Type box" referred to in Step 9 of this tip? When I select "Custom" from the list of formatting options, the only choices I have are to set the font style, border or fill. There is no option to change the cell's text formatting.
I'm using Excel 2016 for Mac.
Thanks


2016-07-16 09:32:24

Col Delane

The second approach using Conditional Formatting doesn't address Murray's requirement, as it merely displays (by formatting) the desired outcome rather than have the cell (B1) contain the underlying value! This will produce an incorrect result in subsequent calculations that reference B1.

A better option would be to have the user input their data in a helper cell (say C1), and the use an IF function formula in B1 to return the desired result,viz:
=IF( AND( EXACT(A1,UPPER(A1)),A1="A" ),C1,"N/A" )

I haven't tested it, but it may also be possible to use a variation of this formula as a Data Validation Custom setting applied to B1 that would accept any value if A1 = "A" but only "N/A" if not.


This Site

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

Newest Tips
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.