How to print worksheet with validation circles in Excel?
In certain case, we may circle some invalid data to make them outstanding, but, when you need to print the worksheet with the validation circles, the circles will not be printed. Have you ever been suffered with this problem in Excel? Today, I will show you some quick tricks to solve this job.
Recommended Excel Productivity Tools
In Excel, we can’t print the validation circles directly, but, we can copy and paste the data range with validation circles as picture, and then print it.
1. Select the data range that you want to print the circles.
2. Press Ctrl + C keys on keyboard to copy it, and then go to a new worksheet, click one cell, and right click, choose Paste Special > Picture, see screenshot:
3. And then your selection has been pasted as picture, and now when you print the new worksheet, the circles will be printed successfully.
If you don’t like to paste the data range as picture, the following VBA code also can help you.
1. After setting the data validation, please hold down the Alt + F11 keys in Excel to open the Microsoft Visual Basic for Applications window.
2. Then click Insert > Module, and paste the following macro in the Module Window.
VBA code: Insert red circles to the invalid data
Sub AddValidationCirclesForPrinting() 'Update 20140724 Dim Rng As Range Dim WorkRng As Range Dim xCount As Integer Dim xShape As Shape On Error Resume Next Set WorkRng = Application.ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation) If WorkRng Is Nothing Then Exit Sub End If xCount = 0 For Each Rng In WorkRng If Not Rng.Validation.Value Then Set xShape = Application.ActiveSheet.Shapes.AddShape(msoShapeOval, Rng.Left - 2, Rng.Top - 2, Rng.Width + 4, Rng.Height + 4) xShape.Fill.Visible = msoFalse xShape.Line.ForeColor.SchemeColor = 10 xShape.Line.Weight = 1.25 xCount = xCount + 1 xShape.Name = "InvalidData_" & xCount End If Next Exit Sub End Sub
3. And then press F5 key to execute this code, and the invalid data has been circled with the red oval, see screenshot:
4. When you go to print this worksheet which contains the red circles, the circles will be printed as well.
With this VBA code, the circles will not be removed with the Excel’s Clear Validation Circles feature, if you want to delete the circles, please apply the below code.
VBA code: Remove validation circles in worksheet
Sub RemoveValidationCircles() 'Update 20140724 Dim xShape As Shape For Each xShape In Application.ActiveSheet.Shapes If xShape.Name Like "InvalidData_*" Then xShape.Delete End If Next End Sub