Solved

print only highlighted area

Posted on 2014-04-27
13
69 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 33

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 33

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 47

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

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

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

How to quickly and accurately populate Word documents with Excel data, charts and images (including Automated Bookmark generation) David Miller (dlmille) Synopsis In this article you’ll learn how to use ExcelToWord! to copy data,charts, shapes …
This code takes an Excel list of URL’s and adds a header titled “URL List”. It then searches through all URL’s in column “A”, looking for duplicates. When a duplicate is found, it is moved to the top of the list. The duplicate URL’s are then highlig…
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

679 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