Free Microsoft Excel 2013 Quick Reference

Printing charts to scale

Is it possible to print an Excel chart to scale. For example if with
VBA code I set the Plotarea.InsideWidth to 288 and the
PlotArea.InsideHeight to 144 should it print out as 4" x 2"


Post your answer or comment

comments powered by Disqus
Is it possible to print an Excel chart to scale. For example if with
VBA code I set the Plotarea.InsideWidth to 288 and the
PlotArea.InsideHeight to 144 should it print out as 4" x 2"


If I have an excel chart that has x and y point sets and the dimensions of these are in inches, how can I plot this onto paper where 1" on paper = 1" in the data - basically I just want to print to scale.

My only thought is to import it into AutoCAD and scale it there, any suggestions would be appreciated, thanks.

I am trying to build a dashboard in excel 2007 beta, but when I format the
content to fit to one page, the charts don't scale down when I print even
though they fit in the required cells in design mode! Is this a bug? Has
anyone else had this problem?

I have 4 small charts in one worksheet and was wondering if there is a command button I can create to print charts only.

Thank you!

Trying to set up radio buttons to select one chart to print.
I am hiding the macro activity then I want to have "Monthly" sheet show so I can select one radio button.
As it prints, the button is cleared.
Choices = Jan - December - if press the Jan button, that January chart prints & macro goes on to next sheet.
I will always only print one chart on this sheet.
Many sheets are involved, others have only one choice & they print fine.
Two sheets will have the 12 choices.
Below, I have remarked out the lines that work so you can see context.
Should I have a main macro & it calls 12 subs? How? I am VB beginner.

     ' PrnCharts Macro recorded 2/8/2007 by Michael
     ' Keyboard Shortcut: Ctrl+Shift+P
    Windows("_Qual Bds TEST.xls").Activate 
     ' Print 1 chart on Improve sheet
     '    Worksheets("Improve").Activate
     '    ActiveSheet.ChartObjects("Improvements").Activate
     '    ActiveChart.PrintOut Copies:=1
     '  Monthly Audit By Cell - Choose which chart to print
    Application.ScreenUpdating = True 
End Sub 
Sub OptionButton01_click() 
    If OptionButton01 = True Then GoSub SelectJanAudit 
End If 
End Sub 
Sub OptionButton02_click() 
    If OptionButton02 = True Then GoSub SelectFebAudit 
End If 
End Sub 
Sub SelectJanAudit() 
    Chart("Jan Audit").Activate 
    ActiveChart.PrintOut Copies:=1 
End Sub 
Sub SelectFebAudit() 
    Chart("Feb Audit").Activate 
    ActiveChart.PrintOut Copies:=1 
End Sub 
 '    Application.ScreenUpdating = False
 ' Print 1 chart on Yearly TTL By Cell sheet
 '    Worksheets("Yearly TTL By Cell").Activate
 '    ActiveSheet.ChartObjects("Year TTL").Activate
 '    ActiveChart.PrintOut Copies:=1
End Sub 

If you like these VB formatting tags please consider sponsoring the author in support of injured Royal Marines
Thanks very much !

I have tried to print an Excel 2007 chart (several, from the same file) to a .pdf, using the Adobe driver, and all I get is a blank page in my .pdf. I have seen a couple of other posts where people said they get distorted images, but at least they have an image.

Is this a known bug in Excel? I have no trouble printing the same charts to a real printer, or to preview.


I'm having some trouble getting my charts to show up like I want them.

I'm graphing percentage increases and generally the numbers are between 60 and 150. However, sometimes there's numbers like 200, 300 and a small few numbers as high as 5000.

I want my graph to auto scale the y axis if the numbers are reasonably small (most of them are) but I'd like to set a cut off point at the high end if the data set being graphed includes one of the outliers. So I want it to auto scale but not any higher than, say, 300. Is there any way to do this?

Is there a way I can have my Graph print on multiple pages? I currently have
the chart on a separate page, but I would like to print it on multiple pages.
I have tried changing the margins, and when I do the Chart seems to scale
down so that it still prints on one page.

Any help or suggestions would be greatly appreciated!


Hi- I'm plottig a series of x,y points for designing model rocket nose cones
in Excel. I've got everything set up correctly but have two problems-

1. What settings would I use on the x and y axis so that my chart properly
displays the correct proportion of my nose cone? I'm assuming that the x and
y axis should both start and end with the same values- is that correct?

2. And, after I get the proportion correct, is there a way to print out the
chart to match real world dimensions? For example, I'm plotting my dimensions
in inches. Can I somehow print out the chart so that each "1" equals 1" in
real life?


How to draw chart: log scale on X axis, natural scale on y axis? sample data
is given below. This chart is used for Civil Engineering?

X axis Y axis
Sieve size % passing
26 mm 100
22 mm 95
16 mm 81
12 mm 75
10 mm 66
4.8 mm 52
2.4 mm 42
1.2 mm 32
0.6 mm 18
0.3 mm 16
0.15 mm 9
0.09 mm 3

In a previous version of excel (2000) I was able to click on a chart to
select it and print it to screen. Once it was in the print preview I was
able to go to setup and select an option that changed the chart properties to
print the chart on a full page(fit to one page). I am trying to print the
same chart in excel 2007 and it is printing as a small thin chart (from the
left to the right margin) but it is not bringing it to the top and bottom
margins. How can I change the setup of my charts to print full page? Thanks.
Becky P.

I am trying to change the code from Jon Peltier's website for "Link Chart Axis Scale Parameters to Values in Cells" from a worksheet change event to a macro/button controlled code. I however have not found the solution.
Can anyone help me ?


Ronald de Vries

I am trying to write some code which prints a chart to an excel worksheet (see module in attached workbook). I have recorded a macro which does most of the work, and am trying to edit this so that I can make it into a loop. I am having some trouble with defining the range for input data (line 33 in Module2), it would be great if someone could show me the correct way.



If I have 3 charts on a could I work out what the maximum value of any of the charts is and then scale all 3 charts to to be on the same scale ?

Thanks for any help


With the above code, is it possible to trasfer all selected charts, on to a new spreadsheet and print them to fit on one page Landscape, no margins??

Or is that stretching it, i tried it but i print them all A4

Thanks for the prompt response - turns out it was to do with my printer - a
Minolta QMS 3300. when I selected an HP printer as the default printer the
problem was resolved. Strange but true!!!


"keepITcool" > wrote in message
> I've seen this before.. I think the problem is connected to
> the Scaling and hidden columns..
> Try to circumvent by changing the column width of B and G
> from hidden (=0) to 0.1
> --
> keepITcool
> | | keepITcool chello nl | amsterdam
>> Hope you folks can help me out with a strange one.
>> I have several worksheets formatted in exactly the same way as
>> follows:
>> Col A - width 4
>> Col B - hidden
>> Col C - width 4
>> Col D - Width 108
>> Col E - Width 3
>> Col F - Width 11
>> Col G - Hidden
>> Col H - Width 11 & Empty
>> My print range should be Cols A:G (I have used page setup to set the
>> scaling to fit 1 page wide by [blank] pages tall, thus each sheet will
>> print as many pages as required depending on number of rows]
>> When I have the print range set to A:G only columns A:E show on the
>> print preview (and also on the actual print out) and when I make print
>> area A:F only A:C show on the print preview.
>> To get A:G printed I have to set the print area to A:H.
>> In all 3 of the examples above when I look at the print preview there
>> is a blank area on the right hand side of the page where the missing
>> columns SHOULD be but aren't... ie the size of the page seems to be
>> formatted correctly to include all the columns i want but they just
>> don't print unless 1 extra column is selected in the print area.
>> Has anyone out there experienced this problem before?
>> Thanks in advance.
>> Stuart

I'm having a blast with Excel 2007, however, our whole office is having a problem printing charts. With Excel 2003, I developed some large spreadsheets with perhaps a hundred charts. To save room and to organize the charts, I stacked them one on top of another with just the heading showing. I could then highlight one and print it, and I could print all 100 charts in about 10 minutes.

After we changed to Excel 2007 and converted the spreadsheets, everything worked fine except I could no longer print any charts. Everything else printed fine but not charts. I loaded several new printer drivers and none of them worked except the postscript drivers which work great. The problem is that the charts now print very slowly. My 100 charts take almost an hour to print instead of 10 minutes. Results are the same on every printer I use. Is this normal or is there a problem and what is the solution?

Also, the charts will highlight when selected but no longer come to the top as in 2003.

Thanks for the help.

Trying to print chart for first time from Excel 2007. When we look at print preview it is lined up exactly where we need it to show all information. When it prints out it is chopping off the horizon (bottom) information and on the right side the legend for the chart.

What are we doing incorrectly?

Thanks for the assistance.

I need to create PDF file from several charts stored in separate workbooks. I
have created following procedu


Sub printsupplycharts()

Windows("INT 25104kpi overdue orders.xls").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("25104kpi OD.xls").Activate
Sheets("Supplier Chart").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("INT 25104kpi summary.xls").Activate
Sheets(Array("PRP by Buyer", "Total PRP")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("INT 47211kpi overdue orders.xls").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("47211kpi OD.xls").Activate
Sheets("Supplier Chart").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("INT 47211kpi summary.xls").Activate
Sheets(Array("PRP by Buyer", "Total PRP")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("INT 70601kpi overdue orders.xls").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("70601kpi OD.xls").Activate
Sheets("Supplier Chart").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

Windows("INT 70601kpi summary.xls").Activate
Sheets(Array("PRP by Buyer", "Total PRP")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

End Sub

Do I have to open the files first or there is any way to print chart without
opening excel workbook ?

Each workbook charts are stored in separate PDF. It will be better to copy
all charts to one workbook and then print just once to create one PDF file ?
If yes, how ?



In past versions of Excel, it seemed automatic that you could select a chart
and then print it to a full page. This doesn't seem to be the case with 2007.

Maybe, I'm not finding the appropriate menu.

I am trying to make a grid with Excel to use to plan a building. I can set a
column and row to be 96 pixels which should give an inch square, but when I
print to my Dell 942 the horizontal distance is a little over an inch while
the vertical distance is less than an inch.

Is this due to the printer's resolution? Is there a way to calculate widths
and heights in Excel to scale correctly to the printer?

Thank You!

I have a workbook with a data table and several hidden charts.

I created a dialog box menu which has several pre-defined filters for the
data sheet and the ability to view the normally hidden charts. To keep
things simple for the user, I make sure that the chart is the only viewable
sheet when they select it... I hide all other charts including the data sheet.

I also have it coded so that when they close the dialog, it automatically
opens the data sheet and closes all open charts.

I want to put a Print Button on the dialog to print the various sheets.

Unfortunately, I can't get the print to execute without closing the dialog
first, running the print code, and reopening the form. This works fine for
printing the data sheet, but it won't work for printing the charts because I
hide all charts upon closing the dialog box so they don't get stuck in limbo.

Hence, I can't print the charts.

It seems like with a dialog box open, you can't change the focus of VBA to
the worksheet and that is where my problem lies.... Any ideas on how to make
this work would be appreciated.

Here's my code:
For reference, the dialog "ReportCard" is where I select different charts...
So when this button is clicked, the chart is already open. The other 2
menus are used to filter the data.

Private Sub cmdPrintPage_Click()
Unload Me
Call PrintThisPage("ReportCard")
End Sub

Sub PrintThisPage(menuname)
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Select Case menuname
Case "Buyer"
Case "PTL"
Case "ReportCard"
End Select
End Sub


I have a co-worker who has a chart which, in E2003, he would keep open at the top of his screen and have it stretched across the entire window. We recently switched to E2007 and when he tries this now the chart is SCALED to fit the window (not stretched) ... Is there a way to have the chart stretched to fit the entire window in E2007? I realize that it changes the scale of the chart, but this is how he likes it.

Any help would be much appreciated as I have exhausted google's resources for today! Thanks!!

I have attached a snapshot of the Excel window so you can see how the chart is positioned and how it scales to fit instead of stretches.

I have seen in many reports they add "Print chart" button in sheet. and when we press that only chart got printed... how to do that......

No luck finding an answer? You could always try Google.