Written by Allen Wyatt (last updated November 5, 2022)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021
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:
Figure 1. The New Formatting Rule dialog box.
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, 2016, 2019, Excel in Microsoft 365, and 2021.
Program Successfully in Excel! John Walkenbach's name is synonymous with excellence in deciphering complex technical topics. With this comprehensive guide, "Mr. Spreadsheet" shows how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Check out Excel 2013 Power Programming with VBA today!
Need to have your worksheet printout start on a new page every time a value in a column changes? There are a couple of ...
Discover MoreYou may use Excel to track due dates for a variety of purposes. As a due date approaches, you may want that fact drawn to ...
Discover MoreYou can use conditional formatting to add shading to various cells in your worksheet. This tip shows how you can shade ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments