Solved

print only highlighted area

Posted on 2014-04-27
13
67 Views
Last Modified: 2014-11-03
i am looking for two macros one that will print only the highlighted area and one that will print the entire  area.thanks
PRINT-ONLY.xlsb
0
Comment
Question by:Svgmassive
  • 4
  • 3
  • 2
  • +2
13 Comments
 
LVL 69

Expert Comment

by:Qlemo
ID: 40025667
You should be able to record two macros for that purpose, each selecting the areas to print and then call the printing menu. This always gives you a  good start for writing VBA code. Usually you have to cleanup and improve the code somwhat.
0
 
LVL 27

Expert Comment

by:MacroShadow
ID: 40025671
This sets the Printable Area to the highlighted cells:
Worksheets("Sheet1").PageSetup.PrintArea = Union("$C$1:$P$19", "$C$38:$P$51")

Open in new window


This will set the Printable Area to the entire bordered area:
Worksheets("Sheet1").PageSetup.PrintArea = "$C$1:$P$51"

Open in new window


If the highlighted and bordered ranges are dynamic, you will have to loop thru the range testing for the conditions and when met add them to the .PrintArea using the Union function.
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 40025679
The above code only sets the print area (as the name says). You will still have to call the printing after that with WorkSheets("Sheet1").PrintOut
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 

Author Comment

by:Svgmassive
ID: 40025714
macro shadow the union created a second page,Everything should fit on one page. thanks
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 40025901
You can set all of the print layout features using the PageSetup member of sheets; you'll have to set two properties here:
with Worksheets("Sheet1").PageSetup
  .PrintArea = Union("$C$1:$P$19", "$C$38:$P$51")
  .FitToPagesTall = 1
  .FitToPagesWide = 1
end with

Open in new window

This scales the printable area into a single page.
You can set the same whether you need gridlines, header/footer and so on, just see the VBA help for PageSetup.
0
 

Author Comment

by:Svgmassive
ID: 40026157
can you attach a demo file?
0
 
LVL 27

Accepted Solution

by:
MacroShadow earned 500 total points
ID: 40026231
The only way is to copy the desired range to a new sheet then set the print area of the new sheet.
0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 40026964
In the Print dialogue, there is an option to Print only selected area. By default if this is not selected, the print range will be the whole sheet.

You could automate the selection of the Selected Area option with a VBA button but whats the point when there is already that option in the Standard print options?

Thanks
Rob H
0
 

Author Comment

by:Svgmassive
ID: 40057805
i guess my next option would be to hide/show the rows
0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 40058312
Did you look at the options in the Print setup? From your description, this does what you want.
0
 

Author Comment

by:Svgmassive
ID: 40083870
i tried them
0
 
LVL 46

Expert Comment

by:Martin Liss
ID: 40419320
I've requested that this question be closed as follows:

Accepted answer: 250 points for MacroShadow's comment #a40025671
Assisted answer: 250 points for Qlemo's comment #a40025679

for the following reason:

This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
The viewer will learn how to use the =DISCRINV command to create a discrete random variable, use this command to model a set of probabilities and outcomes in a Monte Carlo simulation, and learn how to find the standard deviation of a set of probabil…
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question