Fitting Fixed Number Of Columns To Page Size For Printing?
Sep 24, 2011
I'm struggling with getting my Excel worksheet to fit nicely on the pg for printing to .pdf. I could tinker with column widths manually to work this out for a printed report. But I need to print a couple hundred reports with varying column widths, so I need a vba solution.
The context is that I'm using vba to process two sets of interlinked data on a worksheet. I only want to print one set of data, and keep the second set out of the print view. To do this, I'm keeping the first set of data in columns 1 to 10 and the second set of data in columsn 21 to 30. I set the print range to only include columns 1 to 10.
This works fine for keeping the second set of data off the printed pg. The problem is that there is always a gap between the end of column 10 and the maximum width of the printed pg. Given the formatting of the report, this doesn't look very good.
I know that page setup offers the "fit to" option. This would work if I wanted to fit everything on the worksheet on the pg, but I don't. I just want to fit columns 1 to 10 to the pg. Is there a way to do this, allowing for varying widths in columns 1 to 10? Is there a way to do it via vba?
I am trying to find a way to print an "entire workbook", but have each of the sheets paged as a group separate from the rest. One workbook typically has up to 20 sheets, with each sheet up to roughly 8 pages. I need each sheet set to show page 1 of 8 or page 5 of 8, not page 22 of 53. Counting and typing in the total number of pages in each sheet's footer is too cumbersome. Also, printing each sheet individually has also been cumbersome when printing to PDF. Are there any other ways to have the "&[Pages]" function only reflect the number of pages within the sheet instead of in the entire workbook?
I have a report that I use and right now I have a command button that prints the report x2. What I would like to do is to have it print one in color and one in grayscale. I could do this I think with two different buttons, but I would like to utilize just one. I tried creating a macro but it did not pick up the fact that I changed the properties to black and white.
i was stuck with some mass data which spans over many rows and columns. i am relatively new to excel and wanted to know how i can get this data arranged in a way where i can access all the data from a printable view. i have attached a file explaining basically what i want.
In my header I am trying to show the current page number and the total number of pages in the workbook. So if I have 10 pages in my workbook, page 5 would read "5 of 10".
I have this in my header "&[Page] of &[Pages]". All worksheets with 1 page read "1 of 1" and worksheets with 2 pages read "1 of 2" on the first page and "2 of 2" on the second page.
This is the scene. Imagine 2 lists of data, each list 2 columns wide (like 2 lists of names and phone numbers). List 1 covers column A and B, List 2 covers column D and E. I want it so that on the push of a button, columns A-E are automatically resized to be just big enough for their longest content, and column C resizes so that column D is on the next page.
The general idea is that you can print the sheet, and put together the pages relating to the seperate lists.
I need to create a macro code to adjust the width of the columns so it fit in one page for printing. So If it only has 3 columns, the widht will be wider but if it has 200 columns then the width will be much smaller.
I have a set of pages I'd like to print on both sides of the paper, in excel the pages are laid out side by side. I'd like to print them so that the double page spread is on two bits of paper, as in a book, then, you can turn the page and see the next double page.
At the moment, when I print, I get page one, then turn and see pages 2 & 3.
How do I print a "page 0", then turn over to see pages 1 & 2?
I need a code that will print a page only if there is a value in cell G4 for example. Im think I have part of the code but cant work out the " if " part ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _ :=True
I am making a project in which there is vast data of around 10-15 pages to get print...but due to vast data its not possible to get all printed in 1 pages...So i want that cell A1:K4 & A47:K53 to get print in every sheet...Header and footer is not posisble due to some logo at the end of the page..is there anyway for such printing option...
Excel 2010. I need to place picture into one cell or one big merged cell, as a background fill. picture must resize to size of cell. must be fixed in, not in front. i still need write into that cell, so it needs to be really background.
When printing, how to automatically add a line at the bottom of each page? I don't want to make the line physically there. Just show the line in the page when printed.
I'm trying to scale a worksheet so that when it prints it fills the entire A4 page.
I have used under the print preview menu - page setup option the fit to 1 page with by 1 page tall option. This creates a blank space at the bottom of printed area.
Is there any way I can get Excel to stretch the vertically side of things so that it fills the entire page?
I have a list that I need to print. It is only 2 columns, but 12 pages long. I would like to print 4 or 6 pages, side by side on the same sheet. I tried changing the print setting to 4 pages per page. But, when I looked at the print preview, it showed only 1 page per page.
When I go to print my 1 page document, I've selected to have the page shrink to fit onto 1 page. For some reason, when I choose this option to shrink, it doesn't print the entire document, only about 3/4 of the page or so. Something I did recently that was a little different that may have caused this but am honestly not sure is i added my company logo to the header so it'd print on the document too. If I added it as an image, for some reason it wouldn't print.
I have a workbook with 8 sheets. Two of the sheets have 31 pages (one page for each day of the month). I have to input data every day into these sheets on the current day (ie: If the first day of the current month is Sunday, that is page 1). I have to print out the current days page (not the sheet) after it is complete. Is there a macro or vb code that will print out the current day/active PAGE only? As it stands, I have to do the ctrl+p thing to get the print dialog box, and input the page I want printed....as you know, I have to input the page twice in the dialog box to print only one page, otherwise it starts to print from the page I chose.....and if I don't pay attention, I can print 30 pages when I only wanted one.
I am trying to take a spreadsheet and have each row print on a seperate page - without having to do the print area thing on each row. Is there a way to automate this process?
how do i print on a3 paper? i can't find the option anywhere...i can select user define size but then where do i define it?!? i know this is a silly questions
I'm working on a simple spreadsheet with individuals divided among teams. Each team is separated by a page break, so the column displaying Team Name repeats the same team name all down a page, and then another team name all down the next page, and so on. I've been searching for a way to display one instance of each Team Name as the Page Header (or just at the top of each page) upon printing. I've included an attachment for reference.
I have a worksheet that changes in length. There is a formula that calculates how many pages the sheet will be. The also is a print button on the sheet that will print a coversheet "Sheets("Title")" and then it is supposed to print the data on the second sheet. Below the code I have so far... I know I am missing something, but knowing very little about macros I just can't seem to figure it out.
Have very recently been upgraded to Windows 7 with Excel 2010 at work. On printing out a 10 page doucment, (all of which are landscape format), when vewing print preview, the first page is previewed as landsacpe, but subsequent pages are portrait.
If you change format of 2nd page to landscape all subsequent pages switch to landscape.
Have looked at a similar format document created last month and it behaves exactly the same. Whole document landscape but on print preview only first page is...
I have a workbook with multiple sheets where the view for each sheet is the Normal view.
If I print the entire workbook, the active sheet changes to the Page Break Preview view after the printing finishes.
I have to then reset the view back to Normal.
I don't know why the active worksheet is changing. I don't want to annoy the people who will use this workbook by making them change back to normal view after each time they print.
I have a sheet with a few hundred rows of data which I filter out by using a very simple autofilter. I have set page breaks throughout the whole sheet on certain rows I need to start on a new page. If the auto filter filters out any of these rows when it prints it prints a blank page where that row would have been before it was hidden by the autofilter.
For example the whole list is say 5 pages (set with page breaks) I apply an auto filter that now reduces it down to 2 pages say the 1st and last page of the original list. If I page break preview it, it shows me that it will be 2 pages but when i print preview/print the sheet it prints the 1st page then 3 blank pages then page 5 even know that the page break preview only shows and numbers 2 pages. Because the original page breaks are still there just are hidden by the autofilter so it adds them in as blank pages
I have a summary page that includes the titles for each tab within the excel 2003 workbook. I want to use the names of the tabs in the summary page and create it into a formula to lookup fixed cells within the various tabs. Sorry for not uploading an excel doc but I was at work earlier and the thread did not load for some reason, so I am reposting it.
I am wondering if it is possible to create a formula in a cell that will divide whatever number is entered into that cell by a set or fixed number.
ie. I enter the number 9 in the cell and when I press enter, the 9 is instantly divided by 15 and the answer is displayed in the cell where I just typed the 9.