Welcome toExcel.Tips.Net
Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site
Adding a Little Animation to Your Life
Converting a Range of URLs to Hyperlinks
Making the Formula Bar Persistent
When you create a Excel chart, as an object to be placed in a worksheet, the chart object is automatically sized to fit one-quarter of the screen size. You may not want the chart object to be this particular size. For instance, you may want your chart objects to always be a standard size, so they always appear the same relative to your worksheets.
There is no way to specify a chart object size as you are creating the chart. You can, however, resize the chart object after it is created, just as you can resize other graphic elements of your worksheet. You could write a macro to create the object at a particular size, but doing so would remove much of the flexibility that is inherent in the Chart wizard. For instance, when you specify the size of the chart object being created, you also have to specify other characteristics, such as chart type. It is easier to pick and choose such characteristics through the Chart wizard than it is to do so in a macro.
You can, however, easily create a macro that will resize an existing chart object. The key commands of such a macro would be changing the Width and Height properties for the chart object. In VBA, these properties are specified in points. Thus, if you wanted to resize the chart object so it was 4 inches high, you would set the Height property to 288, which is the number of points in 4 inches (4 * 72).
The following macro gives an example of one way to step through all the chart objects on a worksheet and make them the same size.
Sub ResizeCharts()
For j = 1 To ActiveSheet.Shapes.Count
If ActiveSheet.Shapes(j).Type = msoChart Then
ActiveSheet.Shapes(j).Width = 4 * 72
ActiveSheet.Shapes(j).Height = 3 * 72
End If
Next j
End Sub
This particular macro sets the width of each chart object to 4 inches, and the height to 3 inches. If you are looking for a free third-party solution to resizing charts--along with performing other common tasks on charts--then consider Chart Tools, written by John Walkenbach. You can find it here:
http://j-walk.com/ss/excel/files/charttools.htm
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2208) applies to Microsoft Excel versions: 97 2000 2002 2003
Make Home Buying Less Stressful! Why make home buying harder than it needs to be? Put your mind at ease—discover all the questions you need to ask to make the best buying decision.