How to hide or unhide a certain shape based on specified cell value in Excel?
Actually, a certain shape can be hidden or unhidden based on the value of a specified cell. The following method can help you.
For example, you want to unhide a certain shape when entering number 1 into cell A1, or hide this shape if cell A1 is other values. Please run the following VBA code to achieve it.
1. Right click the sheet tab which contains the shape you will hide or unhide, then click View Code from the right-clicking menu.
2. Then the Microsoft Visual Basic for Applications window pops up. Please copy and paste the below VBA code into the Code window.
VBA code: Hide or unhide a certain shape based on specified cell value
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 1 And Target.Column = 1 Then _ Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = 1) End Sub
Notes: In the code:
You can change them based on you need.
3. Press the Alt + Q keys simultaneously to close the Microsoft Visual Basic for Applications window.
From now on, when entering number 1 into cell A1, the shape “Oval 6” is unhidden. But if you enter other value such as number 2 into the cell A1, the shape “Oval 6” is hidden immediately.
- How to add mouse over tip to a certain shape in Excel?
- How to auto change shape size based/dependent on specified cell value in Excel?
- How to fill a shape with transparent background color in Excel?
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!