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.
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.
Learn more about Allen...
A common task done in macros is to lock and unlock different cells and objects in a workbook. This is often done for protection reasons, so that things cannot be modified inadvertently by users. If you need to unlock the charts that are in your workbook, you can easily do so if you remember that even though charts can be considered drawing objects, you don't unlock them as drawing objects--you specifically unlock the chart object.
In addition, how you unlock a chart depends on whether it is a Chart sheet or a Chart object on a regular worksheet. The following code, named ChartUnProtect, provides an example of how to successfully unprotect both types of charts.
Sub ChartUnProtect() Dim wks As Worksheet Dim cht As Chart Dim chtObj As ChartObject Dim PW As String PW = "mypass" 'Unprotect all Chart sheets For Each cht In ActiveWorkbook.Charts Sheets(cht.Name).Unprotect password:=PW Next 'Unlock all Chart objects on each worksheet For Each wks In ActiveWorkbook.Worksheets wks.Unprotect password:=PW For Each chtObj In wks.ChartObjects wks.DrawingObjects(chtObj.Name).Locked = False Next wks.Protect password:=PW Next End Sub
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2264) applies to Microsoft Excel 97, 2000, 2002, and 2003.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!